diff --git a/libs/shared/lib/components/color-mode/index.tsx b/libs/shared/lib/components/color-mode/index.tsx
index 97abb3e04d28af79a1f8f3c03253638d57542a20..24a32b5b396868e75ec9c4f82cb93bdda3fea9be 100644
--- a/libs/shared/lib/components/color-mode/index.tsx
+++ b/libs/shared/lib/components/color-mode/index.tsx
@@ -47,7 +47,7 @@ const ColorMode = () => {
         <TooltipTrigger asChild>
           <Button variant="ghost" iconComponent={iconComponent} onClick={toggleTheme} />
         </TooltipTrigger>
-        <TooltipContent side={'bottom'}>
+        <TooltipContent side={'right'}>
           <p>{`Switch to ${theme === 'dark-mode' ? 'light' : 'dark'}-mode`}</p>
         </TooltipContent>
       </Tooltip>
diff --git a/libs/shared/lib/components/configuration/index.tsx b/libs/shared/lib/components/configuration/index.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..736cf3167538101f08a4ce1192c2fc12226bc4a6
--- /dev/null
+++ b/libs/shared/lib/components/configuration/index.tsx
@@ -0,0 +1,24 @@
+import React, { ReactNode } from 'react';
+
+type SettingsContainerProps = {
+  children: ReactNode;
+};
+
+export function SettingsContainer({ children }: SettingsContainerProps) {
+  return <div className="p-4">{children}</div>;
+}
+
+type SettingsHeaderProps = {
+  name: string;
+  icon?: ReactNode;
+  onClickIcon?: () => void;
+};
+
+export function SettingsHeader({ name, icon, onClickIcon }: SettingsHeaderProps) {
+  return (
+    <div className="flex justify-between items-center">
+      <span className="text-xs font-bold">{name}</span>
+      {icon && icon}
+    </div>
+  );
+}
diff --git a/libs/shared/lib/components/dropdowns/index.tsx b/libs/shared/lib/components/dropdowns/index.tsx
index 658d30e4b5eb461bb10e053c057b1e24610eb96c..2d840e6d3e2b1ae60e6ad5df2fdd23e3b2925412 100644
--- a/libs/shared/lib/components/dropdowns/index.tsx
+++ b/libs/shared/lib/components/dropdowns/index.tsx
@@ -26,10 +26,13 @@ type DropdownButtonProps = {
 };
 
 export function DropdownButton({ title, onClick, size, disabled }: DropdownButtonProps) {
+  const paddingClass = size === 'xs' ? 'py-1' : size === 'sm' ? 'px-1 py-1' : size === 'md' ? 'px-2 py-1' : 'px-4 py-2';
+  const textSizeClass = size === 'xs' ? 'text-xs' : size === 'sm' ? 'text-sm' : size === 'md' ? 'text-base' : 'text-lg';
+
   return (
     <>
       <button
-        className="inline-flex w-full justify-between items-center gap-x-1.5 rounded bg-light px-3 py-2 text-secondary-900 shadow-sm ring-1 ring-inset ring-secondary-300 hover:bg-secondary-50 disabled:bg-secondary-100 disabled:cursor-not-allowed disabled:text-secondary-400"
+        className={`inline-flex w-full justify-between items-center gap-x-1.5 rounded bg-light ${textSizeClass} ${paddingClass} text-secondary-900 shadow-sm ring-1 ring-inset ring-secondary-300 hover:bg-secondary-50 disabled:bg-secondary-100 disabled:cursor-not-allowed disabled:text-secondary-400`}
         onClick={onClick}
         disabled={disabled}
       >
diff --git a/libs/shared/lib/components/inputs/index.tsx b/libs/shared/lib/components/inputs/index.tsx
index e52a53dd7861867fda9c6bd4d0b10c149566978b..abb4bd5471b3777713494edc667b97bbe84e57c9 100644
--- a/libs/shared/lib/components/inputs/index.tsx
+++ b/libs/shared/lib/components/inputs/index.tsx
@@ -63,6 +63,7 @@ type DropdownProps = {
   value: string | number | undefined;
   type: 'dropdown';
   options: any;
+  size?: 'xs' | 'sm' | 'md' | 'xl';
   tooltip?: string;
   onChange?: (value: string | number) => void;
   required?: boolean;
@@ -242,7 +243,17 @@ export const BooleanInput = ({ label, value, onChange, tooltip }: BooleanProps)
   );
 };
 
-export const DropDownInput = ({ label, value, options, onChange, required = false, tooltip, disabled = false, info }: DropdownProps) => {
+export const DropDownInput = ({
+  label,
+  value,
+  options,
+  onChange,
+  required = false,
+  tooltip,
+  size = 'sm',
+  disabled = false,
+  info,
+}: DropdownProps) => {
   const dropdownRef = React.useRef<HTMLDivElement>(null);
   const [isDropdownOpen, setIsDropdownOpen] = React.useState<boolean>(false);
 
@@ -273,6 +284,7 @@ export const DropDownInput = ({ label, value, options, onChange, required = fals
       <DropdownContainer className="w-full" ref={dropdownRef}>
         <DropdownButton
           title={value}
+          size={size}
           disabled={disabled}
           onClick={(e) => {
             e.stopPropagation();
diff --git a/libs/shared/lib/info/settings.tsx b/libs/shared/lib/info/settings.tsx
index 02122089c6adea7588a0e3b287e489b21ca35a11..999092997a6a8344a18f104973d1eade0c16dec4 100644
--- a/libs/shared/lib/info/settings.tsx
+++ b/libs/shared/lib/info/settings.tsx
@@ -7,8 +7,8 @@ type Props = {};
 
 export default function Settings({ manager }: { manager: any }) {
   return (
-    <div>
-      <div className="border-b border-secondary-200">
+    <div className="">
+      <div className="border-b border-secondary-200 py-2">
         <div className="flex justify-between items-center px-4 py-2">
           <span className="text-xs font-bold">Visualisation</span>
           <Button
@@ -21,13 +21,15 @@ export default function Settings({ manager }: { manager: any }) {
             }}
           />
         </div>
-        <div className="flex justify-between items-center px-4 py-4">
+        <div className="flex justify-between items-center px-4 py-1">
           <span className="text-xs font-normal">Type</span>
-          <Input type="dropdown" />
+          <div className="w-36">
+            <Input type="dropdown" size="xs" options={[]} value={manager.activeType} onChange={() => {}} />
+          </div>
         </div>
-        <div className="flex justify-between items-center px-4 py-4">
+        <div className="flex justify-between items-center px-4 py-1">
           <span className="text-xs font-normal">Name</span>
-          <Input type="text" />
+          <input type="text" className="border rouded w-36" value={manager.active} onChange={() => {}} />
         </div>
       </div>
       {manager.renderSettings()}
diff --git a/libs/shared/lib/vis/manager.tsx b/libs/shared/lib/vis/manager.tsx
index c69ca19d133bd2213075446e2f01d1cff54675a7..f3624bc3017ae5f5d7e9690597db1f9df60edb09 100644
--- a/libs/shared/lib/vis/manager.tsx
+++ b/libs/shared/lib/vis/manager.tsx
@@ -36,6 +36,7 @@ export const useVisualizationManager = () => {
   const [visualization, setVisualization] = useState<VISComponentType>();
   const [hoverItem, setHoverItem] = useState<any>();
   const [selected, setSelected] = useState<any>();
+  const activeType = visualizations[active]?.displayName;
 
   const firstRender = !active && !session.currentSaveState;
   const tabs = Object.keys(visualizations).length ? Object.keys(visualizations) : INITIAL_VISUALIZATIONS;
@@ -135,6 +136,7 @@ export const useVisualizationManager = () => {
     renderComponent,
     renderSettings,
     active,
+    activeType,
     tabs,
     changeActive,
     reorderVisualizations,
diff --git a/libs/shared/lib/vis/visualizations/matrixvis/matrixvis.tsx b/libs/shared/lib/vis/visualizations/matrixvis/matrixvis.tsx
index 86c3877bb6477d158b67855d56479c9ee1244d77..b0954e8aa72b902b3a49eafb6d166791e5b860cf 100644
--- a/libs/shared/lib/vis/visualizations/matrixvis/matrixvis.tsx
+++ b/libs/shared/lib/vis/visualizations/matrixvis/matrixvis.tsx
@@ -6,6 +6,7 @@ import { MatrixPixi } from './components/MatrixPixi';
 import { VisualizationPropTypes, VISComponentType } from '../../types';
 import Input from '@graphpolaris/shared/lib/components/inputs';
 import { GraphMetaData } from '@graphpolaris/shared/lib/data-access/statistics';
+import { SettingsContainer, SettingsHeader } from '@graphpolaris/shared/lib/components/configuration';
 
 export interface MatrixVisProps {
   marks: string;
@@ -46,7 +47,8 @@ const MatrixSettings = ({
   updateSettings: (val: any) => void;
 }) => {
   return (
-    <div>
+    <SettingsContainer>
+      <SettingsHeader name="JSON visualization" />
       <Input
         type="dropdown"
         label="Configure marks"
@@ -54,7 +56,7 @@ const MatrixSettings = ({
         options={['rect', 'circle']}
         onChange={(val) => updateSettings({ marks: val })}
       />
-    </div>
+    </SettingsContainer>
   );
 };
 
diff --git a/libs/shared/lib/vis/visualizations/nodelinkvis/nodelinkvis.tsx b/libs/shared/lib/vis/visualizations/nodelinkvis/nodelinkvis.tsx
index 8d1d36db25dea6eaafd30b6759a7c99ca42b4882..1788afec5c69554cd376a9f05aaa5da2e5fe2d8f 100644
--- a/libs/shared/lib/vis/visualizations/nodelinkvis/nodelinkvis.tsx
+++ b/libs/shared/lib/vis/visualizations/nodelinkvis/nodelinkvis.tsx
@@ -7,6 +7,7 @@ import { ML, setShortestPathSource, setShortestPathTarget } from '../../../data-
 import { VisualizationPropTypes, VISComponentType } from '../../types';
 import Input from '@graphpolaris/shared/lib/components/inputs';
 import { GraphMetaData } from '@graphpolaris/shared/lib/data-access/statistics';
+import { SettingsContainer, SettingsHeader } from '@graphpolaris/shared/lib/components/configuration';
 
 export interface NodelinkVisProps {
   layout: string;
@@ -92,7 +93,8 @@ const NodelinkSettings = ({
   updateSettings: (val: any) => void;
 }) => {
   return (
-    <div>
+    <SettingsContainer>
+      <SettingsHeader name="NodeLink visualization" />
       <Input
         type="dropdown"
         label="Layout"
@@ -106,7 +108,7 @@ const NodelinkSettings = ({
         value={configuration.showPopUpOnHover}
         onChange={(val) => updateSettings({ showPopUpOnHover: val })}
       />
-    </div>
+    </SettingsContainer>
   );
 };
 
diff --git a/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx b/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx
index d18c548ce060280b444cce0cb7d52fb01fd6bdc6..ba55bee18894f79507cf4589be4d50e901c8c26f 100644
--- a/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx
+++ b/libs/shared/lib/vis/visualizations/paohvis/paohvis.tsx
@@ -29,6 +29,7 @@ import MakePaohvisMenu from './components/MakePaohvisMenu';
 import { RowLabelColumn } from './components/RowLabelColumn';
 import { VISComponentType, VisualizationPropTypes } from '../../types';
 import { GraphMetaData } from '@graphpolaris/shared/lib/data-access/statistics';
+import { SettingsContainer, SettingsHeader } from '@graphpolaris/shared/lib/components/configuration';
 
 type PaohvisViewModelState = {
   rowHeight: number;
@@ -654,7 +655,11 @@ const PaohSettings = ({
   graph: GraphMetaData;
   updateSettings: (val: any) => void;
 }) => {
-  return <div>To be implemented</div>;
+  return (
+    <SettingsContainer>
+      <SettingsHeader name="Paoh visualization" />
+    </SettingsContainer>
+  );
 };
 
 export const PaohVisComponent: VISComponentType = {
diff --git a/libs/shared/lib/vis/visualizations/rawjsonvis/rawjsonvis.tsx b/libs/shared/lib/vis/visualizations/rawjsonvis/rawjsonvis.tsx
index 29d370bb7eca54beacd37b8c17100ff3bd2ab03e..8009c5ffd86ef2e3ae56621cfeed6f5aac4efa44 100644
--- a/libs/shared/lib/vis/visualizations/rawjsonvis/rawjsonvis.tsx
+++ b/libs/shared/lib/vis/visualizations/rawjsonvis/rawjsonvis.tsx
@@ -2,6 +2,7 @@ import React, { useEffect } from 'react';
 import ReactJSONView from 'react-json-view';
 import { VisualizationPropTypes, VISComponentType } from '../../types';
 import { GraphMetaData } from '@graphpolaris/shared/lib/data-access/statistics';
+import { SettingsContainer, SettingsHeader } from '@graphpolaris/shared/lib/components/configuration';
 
 export interface RawJSONVisProps {}
 
@@ -34,7 +35,11 @@ const RawJSONSettings = ({
   graph: GraphMetaData;
   updateSettings: (val: any) => void;
 }) => {
-  return <div>To be implemented</div>;
+  return (
+    <SettingsContainer>
+      <SettingsHeader name="JSON visualization" />
+    </SettingsContainer>
+  );
 };
 
 export const RawJSONComponent: VISComponentType = {
diff --git a/libs/shared/lib/vis/visualizations/tablevis/tablevis.tsx b/libs/shared/lib/vis/visualizations/tablevis/tablevis.tsx
index d740b4a7a77a21a591a7336c783e0bb8e47f0385..4aa2c453fb41235e41b8fbee277619d9c36adeb1 100644
--- a/libs/shared/lib/vis/visualizations/tablevis/tablevis.tsx
+++ b/libs/shared/lib/vis/visualizations/tablevis/tablevis.tsx
@@ -4,6 +4,7 @@ import { SchemaAttribute } from '../../../schema';
 import { VisualizationPropTypes, VISComponentType } from '../../types';
 import Input from '@graphpolaris/shared/lib/components/inputs';
 import { GraphMetaData } from '@graphpolaris/shared/lib/data-access/statistics';
+import { SettingsContainer, SettingsHeader } from '@graphpolaris/shared/lib/components/configuration';
 
 export type TableProps = {
   showBarplot: boolean;
@@ -53,7 +54,8 @@ const TableSettings = ({
   updateSettings: (val: any) => void;
 }) => {
   return (
-    <div>
+    <SettingsContainer>
+      <SettingsHeader name="Table visualization" />
       <Input
         type="dropdown"
         label="Items per page"
@@ -67,7 +69,7 @@ const TableSettings = ({
         value={configuration.showBarplot}
         onChange={(val) => updateSettings({ showBarplot: val })}
       />
-    </div>
+    </SettingsContainer>
   );
 };