public static Object loadObject(String filePath) throws IOException, FileNotFoundException, ClassNotFoundException{
		
		//Initialized to null so they can be used in the catch blocks
		FileInputStream fileIn = null; 
		ObjectInputStream in = null; 
		
		//Attempt to read the object from memory and return it
		try{
			fileIn = new FileInputStream(filePath);
			in = new ObjectInputStream(fileIn);
			Object savedObject = in.readObject();
			fileIn.close();
			in.close();
			return savedObject;
		}
		/*
		 * In case of errors, throw the exception to the surrounding program to handle
		 */
		catch(FileNotFoundException e){//Incorrect filepath or missing filepath
			if (fileIn != null)
				fileIn.close();
			if (in != null)
				in.close();
			throw e;
		}
		catch(ClassNotFoundException e){//Class loaded from memory does not match any source code available to the project
			if (fileIn != null)
				fileIn.close();
			if (in != null)
				in.close();
			throw e;
		}
		catch(Exception e){
			if (fileIn != null)
				fileIn.close();
			if (in != null)
				in.close();
			throw e;
		}
	}