diff --git a/frontend/src/Components/Search/MultiLevelOptions.jsx b/frontend/src/Components/Search/MultiLevelOptions.jsx
new file mode 100644
index 0000000000000000000000000000000000000000..55e04a44d2146a3432159b8b8ba741154406defe
--- /dev/null
+++ b/frontend/src/Components/Search/MultiLevelOptions.jsx
@@ -0,0 +1,121 @@
+import React, { useState, useContext, useEffect } from 'react';
+import '../../Css/MultiLevelOptions.css';
+import { GlobalContext } from '../../Context/GlobalContext';
+
+const MultiLevelOptions = () => {
+  // State to keep track of user selections
+  const [category, setCategory] = useState('');
+  const [subCategory, setSubCategory] = useState('');
+  const [year, setYear] = useState('');
+  const [party, setParty] = useState('');
+  const {selectedOptions, setSelectedOptions} = useContext(GlobalContext);
+  
+  const years = ['1973', '1976', '1979', '1982', '1985', '1988', '1991', '1994', '1998', '2002', '2006', '2010', '2014', '2018', '2022'];
+
+  // Handle category selection (Swedish Election / Swedish Demographic)
+  const handleCategoryChange = (e) => {
+    console.log("Handle Category Change = " + e.target.value)
+    setCategory(e.target.value);
+    setSubCategory('');
+    setYear('');
+    setParty('');
+  };
+
+  // Handle subcategory selection (Total Votes / Party Votes)
+  const handleSubCategoryChange = (e) => {
+    console.log("handleSubCategoryChange = " + e.target.value)
+    setSubCategory(e.target.value);
+    setYear('');
+    setParty('');
+  };
+
+  // Handle year and party selection
+  const handleYearChange = (e) => setYear(e.target.value);
+  const handlePartyChange = (e) => setParty(e.target.value);
+
+    // This will be called whenever any values in the array 
+    // [category, subCategory, year, party] changes
+    useEffect(() => {
+        if (category === 'Swedish Demographic') {
+            
+        } else if (category === 'Swedish Election Results' && subCategory === 'totalVotes') {
+            
+        } else if (
+            category === 'Swedish Election Results' &&
+            subCategory === 'partyVotes' &&
+            year && party
+        ){
+            console.log("test");
+        }
+    }, [category, subCategory, year, party]);
+
+
+  // Rendering based on user selections
+  return (
+    <div className="options-wrapper">
+      <h1>Select Options</h1>
+
+      {/* First level menu */}
+      <select value={category} onChange={handleCategoryChange}>
+        <option value="">-</option>
+        <option value="Swedish Election Results">Swedish Election</option>
+        <option value="Swedish Demographic">Swedish Demographic</option>
+      </select>
+
+      {/* Second level menu, visible only if Swedish Election is selected */}
+        {category === 'Total Votes / Party Votes' && (
+            <h1>Select Al</h1>
+        )}
+      {category === 'Swedish Election Results' && (
+        <select value={subCategory} onChange={handleSubCategoryChange}>
+          <option value="">Select Subcategory</option>
+          <option value="totalVotes">Total Votes</option>
+          <option value="partyVotes">Party Votes</option>
+        </select>
+      )}
+
+      {/* Third level menus, visible only if Party Votes is selected */}
+      {subCategory === 'partyVotes' && (
+        <div>
+            <select value={party} onChange={handlePartyChange}>
+                <option value="">Select Party</option>
+                <option value="Moderaterna">Moderaterna (M)</option>
+                <option value="Centerpartiet">Centerpartiet (C)</option>
+                <option value="Liberalerna">Liberalerna (FP)</option>
+                <option value="Kristdemokraterna">Kristdemokraterna (KD)</option>
+                <option value="Socialdemokraterna">Socialdemokraterna (S)</option>
+                <option value="Sverigedemokraterna">Sverigedemokraterna (SD)</option>
+                <option value="Other">Other</option>
+                <option value="Invalid">Invalid</option>
+                <option value="Voters">Non-Voters</option>
+           </select>
+
+           <select value={year} onChange={handleYearChange}>
+                <option value="">Select Election Year</option>
+                {/* Create an 'Option' element for each year */}
+                {years.map((year) => (
+                    <option key={year} value={year}>{year}</option>
+                ))}
+          </select>
+        </div>
+      )}
+
+      {/* Final display based on selection */}
+      <div>
+            {category && subCategory === '' && (
+                <p>Selected: {category}</p>
+            )}
+
+            {category && subCategory === 'totalVotes' && (
+                <p>Showing Total Votes for {category}</p>
+            )}
+
+            {category && subCategory === 'partyVotes' && year && party && (
+                <p>Showing Votes for {party} in {year} Election</p>
+            )}
+      </div>
+    </div>
+  );
+};
+
+export default MultiLevelOptions;
\ No newline at end of file
diff --git a/frontend/src/Components/Search/SearchComponent.jsx b/frontend/src/Components/Search/SearchComponent.jsx
index e20d96149313b018db6c8ded544ee29ae134931d..6ffe7c46dc190c236d213452292fc158c9252e7f 100644
--- a/frontend/src/Components/Search/SearchComponent.jsx
+++ b/frontend/src/Components/Search/SearchComponent.jsx
@@ -1,31 +1,15 @@
 import React, { useState, useEffect, useMemo } from 'react';
 import Autocomplete from '@mui/material/Autocomplete';
 import TextField from '@mui/material/TextField';
-import MultiSelectText from './MultiSelectText';
+import MultiLevelOptions from './MultiLevelOptions'
 import "../../Css/Search.css";
-import * as externalSelections from './Selections'; // Import selections from external file
 
 export const SearchComponent = ({ data, changeRegion }) => {
 
   const [selectedProvince, setSelectedProvince] = useState(null);
 
-  const [parentSelection, setParentSelection] = useState(-1);
-
-  const[component, setComponent]  = useState(null);
-
-  const[components, setComponents] = useState(null);
-
   changeRegion(selectedProvince)
 
-
-  let globalChildSelection = -1;
-
-  /*
-    Some temporary selection allocation
-  */ 
-  const euElection = externalSelections.euElection;
-  const selections = externalSelections.selections;
-
 /**
  * useEffect hook to update the selected province based on the incoming data.
  * If the incoming data matches any province option, it sets the selected province.
@@ -40,8 +24,9 @@ export const SearchComponent = ({ data, changeRegion }) => {
       'Västra Götaland', 'Värmland', 'Örebro', 'Västmanland', 'Dalarna',
       'Gävleborg', 'Västernorrland', 'Jämtland', 'Västerbotten', 'Norrbotten'
   ];
+
+  // Called whenever [data] changes
   useEffect(() => {
-    
     if (data && provinceOptions.includes(data)) {
       setSelectedProvince(data);
     } else {
@@ -54,60 +39,8 @@ export const SearchComponent = ({ data, changeRegion }) => {
   };
 
   const isOptionEqualToValue = (option, value) => option === value;
-
   const memoizedProvince = useMemo(() => selectedProvince, [selectedProvince]);
 
-
-  function parentIndexHandler(index){
-    const element = euElection.childrens[index];
-    setParentSelection(element);
-  };
-
-
-  function level_1_indexHandler(index){
-    console.log("childIndexHandler index:" + index)
-    globalChildSelection = index;
-  };
-
-// Function to get the child selection based on the parent element
-const handleChildSelection = () => {
-  switch (parentSelection) {
-    case 'a':
-      setComponent( <div className='multi_select'><MultiSelectText selection={externalSelections.level_1_selections.level_1_1_selection} multiSelect={false} indexHandler={level_1_indexHandler}/><button onClick={handleComponentSelection}> Select</button></div>);
-      break;
-    case 'b':
-      setComponent( <div className='multi_select'><MultiSelectText selection={externalSelections.level_1_selections.level_1_2_selection} multiSelect={false} indexHandler={level_1_indexHandler}/><button onClick={handleComponentSelection}> Select</button></div>);
-      break;
-    case 'c':
-      setComponent( <div className='multi_select'><MultiSelectText selection={externalSelections.level_1_selections.level_1_3_selection} multiSelect={false} indexHandler={level_1_indexHandler}/><button onClick={handleComponentSelection}> Select</button></div>);
-      break;
-    default:
-      setComponent(null);
-  }
-};
-
-const handleComponentSelection = () => {
-  console.log("handleComponentSelection:, global:;" +globalChildSelection)
-  const selected = {};
-
-  for (const [key, value] of Object.entries(selections)) {
-    if (value.id.includes(globalChildSelection)) {
-      selected[key] = value;
-    }
-  }
-
-  setComponents( 
-     <div>
-      {Object.values(selected).map((selection, index) => (
-        <div key={index} className='multi_select'>
-          <MultiSelectText selection={selection} multiSelect={true} />
-        </div>
-      ))}
-      </div>
-  );
-};
-
-
 return (
     <div>
       <Autocomplete  
@@ -175,12 +108,10 @@ return (
       />
 
       
-      <div className='multi_select'><MultiSelectText selection={euElection} multiSelect={false} indexHandler={parentIndexHandler}/>
-        <button onClick={handleChildSelection}>Select</button>
+      <div className='multi_select'>
+        <MultiLevelOptions />
+        
       </div>
-
-      <>{component}</>
-      <>{components}</>
     </div>  
   );
 };