diff --git a/src/components/ItemDetails.js b/src/components/ItemDetails.js
index 2d9fc36..22a43d5 100644
--- a/src/components/ItemDetails.js
+++ b/src/components/ItemDetails.js
@@ -1,6 +1,6 @@
 // src/components/ItemDetails.js
 import React, { useState, useEffect, useRef } from 'react';
-import { TextField, Button, Container, Avatar } from '@mui/material';
+import { TextField, Button, Container, Avatar, Typography } from '@mui/material';
 import axios from 'axios';
 import { PRIMARY_COLOR, SECONDARY_COLOR } from '../App';
 //import { useNavigate } from 'react-router-dom'; // Import useNavigate
@@ -13,6 +13,52 @@ export default function ItemDetails({ item, token, onSave, onClose, boxId }) {
   const fileInputRef = useRef(null); // Add this line to define fileInputRef
   const [imageOverlayVisible, setImageOverlayVisible] = useState(false);
   // const navigate = useNavigate(); // Initialize useNavigate
+  const [boxName, setBoxName] = useState('');
+  const [boxes, setBoxes] = useState([]);
+  const [selectedBoxId, setSelectedBoxId] = useState(boxId);
+
+  useEffect(() => {
+    const fetchBoxes = async () => {
+      try {
+        const response = await axios.get(`${process.env.REACT_APP_API_URL}/boxes`, {
+          headers: { Authorization: `Bearer ${token}` }
+        });
+        setBoxes(response.data);
+      } catch (error) {
+        console.error('Error fetching boxes:', error);
+      }
+    };
+    fetchBoxes();
+  }, [token]);
+
+  const handleBoxChange = (event) => {
+    setSelectedBoxId(event.target.value);
+    console.log('Selected box ID:', event.target.value);
+  };
+
+  useEffect(() => {
+    // Function to fetch box details
+    const getBoxDetails = async (boxId) => {
+      try {
+        const boxIdNumber = +boxId;
+        if (isNaN(boxIdNumber)) {
+          console.error('Invalid boxId:', boxId);
+          return;
+        }
+        const response = await axios.get(`${process.env.REACT_APP_API_URL}/boxes/${+boxId}`, {
+          headers: { Authorization: `Bearer ${token}` }
+        });
+        setBoxName(response.data.name);
+      } catch (error) {
+        console.error('Error fetching box details:', error);
+      }
+    };
+    
+    // Fetch the box details when the component mounts or the selectedBoxId changes
+    if (selectedBoxId !== null) {
+      getBoxDetails(selectedBoxId);
+    }
+  }, [selectedBoxId, token, boxId]);
 
   useEffect(() => {
     // Function to fetch image similar to getImageSrc in Items.js
@@ -87,11 +133,12 @@ export default function ItemDetails({ item, token, onSave, onClose, boxId }) {
     if (fileInputRef.current.files[0]) {
       imagePath = await handleImageUpload();
     }
+    console.log(selectedBoxId)
 
     // 2. Update item details (name, description, etc.)
     try {
       await axios.put(`${process.env.REACT_APP_API_URL}/items/${item.ID}`,
-        { name, description, image_path: imagePath }, // Use teh uploaded image path
+        { name, description, image_path: imagePath, BoxID: selectedBoxId }, // Use teh uploaded image path
         {
           headers: { Authorization: `Bearer ${token}` }
         }
@@ -166,6 +213,17 @@ export default function ItemDetails({ item, token, onSave, onClose, boxId }) {
         style={{ display: 'none' }} 
         id="editItemImageUpload" // Unique ID
       />
+      
+      
+