diff --git a/guided_mrmp/main.py b/guided_mrmp/main.py
index b3214db64f8661a6271b7a051e38b74580ebe14e..b85c0449c6dbf928884aedf880b4d1044334cab1 100644
--- a/guided_mrmp/main.py
+++ b/guided_mrmp/main.py
@@ -10,9 +10,10 @@ from guided_mrmp.planners import RRTStar
 
 from guided_mrmp.planners.db_guided_mrmp import GuidedMRMP
 from guided_mrmp.simulator import Simulator
+from guided_mrmp.utils.library import Library
 
-class_names_dist = {
-    'Roomba': Roomba,
+class_function_names_dict = {
+    'Roomba': Roomba
     # 'RRT': RRT(),
     # 'RRTStar': RRTStar(),
     }
@@ -91,9 +92,30 @@ def initialize_robots(starts, goals, dynamics_models, radii, target_v, env):
     return robots
 
 
+def initialize_libraries(library_fnames=["guided_mrmp/database/2x3_library","guided_mrmp/database/3x3_library","guided_mrmp/database/5x2_library"]):
+    """
+    Load the 2x3, 3x3, and 2x5 libraries. Store them in self.lib-x- 
+    Inputs: 
+        library_fnames - the folder containing the library files
+    """
+    # Create each of the libraries
+    print(f"Loading libraries. This usually takes about 10 seconds...")
+    lib_2x3 = Library(library_fnames[0])
+    lib_2x3.read_library_from_file()
+    
+    lib_3x3 = Library(library_fnames[1])
+    lib_3x3.read_library_from_file()
+
+    
+    lib_2x5 = Library(library_fnames[2])
+    lib_2x5.read_library_from_file()
+
+    return [lib_2x3, lib_3x3, lib_2x5]
+
+
 if __name__ == "__main__":
     # Load the settings
-    settings = load_settings("settings_files/settings_mpc.yaml")
+    settings = load_settings("settings_files/settings.yaml")
 
     set_python_seed(1123)
     # set_python_seed(11235813)
@@ -112,7 +134,7 @@ if __name__ == "__main__":
 
     dynamics_models = []
     for model in dynamics_models_st:
-        dynamics_models.append(class_names_dist[model]())
+        dynamics_models.append(class_function_names_dict[model]())
 
     # Load and create the robots
     robot_starts = settings['robot_starts']
@@ -125,10 +147,14 @@ if __name__ == "__main__":
 
     robots = initialize_robots(robot_starts, robot_goals, dynamics_models, robot_radii, target_v, env)
 
+    # Load the libraries
+    # libs = initialize_libraries()
+    libs = [None, None, None]
+
     # Create the Guided MRMP policy
     T = settings['prediction_horizon']
     DT = settings['discretization_step']
-    policy = GuidedMRMP(env, robots, dynamics_models, T, DT, settings)
+    policy = GuidedMRMP(env, robots, dynamics_models, T, DT, libs, settings)
 
     # Create the simulator
     scaling_factor = settings['simulator']['scaling_factor']