diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..229c772
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,26 @@
+# Don't track the content of these folders #
+############################################
+rrrobot_src/lib/
+rrrobot_src/src/simulation_drivers/build
+rrrobot_src/src/simulation_drivers/devel
+rrrobot_src/src/simulation_drivers/install
+.*
+!.gitignore
+
+# Compiled source #
+###################
+*.o
+*.so
+
+# Packages #
+############
+*.tar
+*.gz
+*.zip
+
+# Other #
+#########
+*.backup
+*.old
+*.custom
+*.run
diff --git a/src/docker-compose.yml b/docker_env/docker-compose.yml
similarity index 100%
rename from src/docker-compose.yml
rename to docker_env/docker-compose.yml
diff --git a/docker_env/gazebo/Dockerfile b/docker_env/gazebo/Dockerfile
new file mode 100644
index 0000000..c1ffdc4
--- /dev/null
+++ b/docker_env/gazebo/Dockerfile
@@ -0,0 +1,43 @@
+# Gazebo Dockerfile
+
+# Use official image for Gazebo 9.x
+FROM gazebo:gzserver9
+
+# COPY $PWD/gazebo_models /root/.gazebo/models
+
+RUN apt-get update
+RUN apt-get install -y libgazebo9-dev
+RUN sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
+RUN apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
+RUN apt-get install -y curl
+RUN curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | apt-key add -
+RUN apt-get update
+RUN apt-get install -y ros-melodic-desktop-full
+RUN echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
+RUN apt install -y python-rosdep
+RUN rosdep init
+RUN rosdep update
+# user id 1000 should be the same as the host user, so that you can access files
+# from inside the docker container and also on the host
+RUN useradd -u 1000 rrrobot
+# set to no password
+RUN passwd --delete rrrobot
+# add to sudo users
+RUN usermod -aG sudo rrrobot
+# set the entry point
+WORKDIR /home/rrrobot
+RUN chown -R rrrobot:rrrobot /home/rrrobot
+
+#COPY $RRROBOT_HOME/src /home/rrrobot/src
+#COPY /home/dwitcpa/eecs467/rrrobot/src /home/rrrobot
+
+RUN echo "source /opt/ros/melodic/setup.bash" >> /home/rrrobot/.bashrc
+RUN echo "source /usr/share/gazebo/setup.sh" >> /home/rrrobot/.bashrc
+RUN echo "export GAZEBO_MODEL_PATH=/home/rrrobot/rrrobot_src/src/gazebo_models:\$GAZEBO_MODEL_PATH" >> /home/rrrobot/.bashrc
+RUN echo "export GAZEBO_PLUGIN_PATH=/home/rrrobot/rrrobot_src/lib:\$GAZEBO_PLUGIN_PATH" >> /home/rrrobot/.bashrc
+
+#RUN chown -R rrrobot:rrrobot /home/rrrobot/.gazebo
+
+USER rrrobot
+
+CMD ["/bin/bash"]
diff --git a/src/gazebo/build.sh b/docker_env/gazebo/build.sh
similarity index 100%
rename from src/gazebo/build.sh
rename to docker_env/gazebo/build.sh
diff --git a/docker_env/gazebo/run_rrrobot_image.sh b/docker_env/gazebo/run_rrrobot_image.sh
new file mode 120000
index 0000000..a96893e
--- /dev/null
+++ b/docker_env/gazebo/run_rrrobot_image.sh
@@ -0,0 +1 @@
+../../run_rrrobot_image.sh
\ No newline at end of file
diff --git a/src/ros-dev/Dockerfile b/docker_env/ros-dev/Dockerfile
similarity index 100%
rename from src/ros-dev/Dockerfile
rename to docker_env/ros-dev/Dockerfile
diff --git a/src/ros-dev/build.sh b/docker_env/ros-dev/build.sh
similarity index 100%
rename from src/ros-dev/build.sh
rename to docker_env/ros-dev/build.sh
diff --git a/src/ros-dev/run_rrrobot_image.sh b/docker_env/ros-dev/run_rrrobot_image.sh
similarity index 100%
rename from src/ros-dev/run_rrrobot_image.sh
rename to docker_env/ros-dev/run_rrrobot_image.sh
diff --git a/src/ros-turtlesim/Dockerfile b/docker_env/ros-turtlesim/Dockerfile
similarity index 100%
rename from src/ros-turtlesim/Dockerfile
rename to docker_env/ros-turtlesim/Dockerfile
diff --git a/src/ros-turtlesim/build.sh b/docker_env/ros-turtlesim/build.sh
similarity index 100%
rename from src/ros-turtlesim/build.sh
rename to docker_env/ros-turtlesim/build.sh
diff --git a/src/ros-turtlesim/run_rrrobot_image.sh b/docker_env/ros-turtlesim/run_rrrobot_image.sh
similarity index 100%
rename from src/ros-turtlesim/run_rrrobot_image.sh
rename to docker_env/ros-turtlesim/run_rrrobot_image.sh
diff --git a/src/ros-turtlesim/turtlesim.sh b/docker_env/ros-turtlesim/turtlesim.sh
similarity index 100%
rename from src/ros-turtlesim/turtlesim.sh
rename to docker_env/ros-turtlesim/turtlesim.sh
diff --git a/src/ros/Dockerfile b/docker_env/ros/Dockerfile
similarity index 100%
rename from src/ros/Dockerfile
rename to docker_env/ros/Dockerfile
diff --git a/src/ros/build.sh b/docker_env/ros/build.sh
similarity index 100%
rename from src/ros/build.sh
rename to docker_env/ros/build.sh
diff --git a/src/ros/run_rrrobot_image.sh b/docker_env/ros/run_rrrobot_image.sh
similarity index 100%
rename from src/ros/run_rrrobot_image.sh
rename to docker_env/ros/run_rrrobot_image.sh
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/model.config b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.config
similarity index 100%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/model.config
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.config
diff --git a/src/gazebo/gazebo_models/fanuc_robotic_arm/model.sdf b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.sdf
similarity index 94%
rename from src/gazebo/gazebo_models/fanuc_robotic_arm/model.sdf
rename to rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.sdf
index ae0a2dd..e127921 100644
--- a/src/gazebo/gazebo_models/fanuc_robotic_arm/model.sdf
+++ b/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/model.sdf
@@ -22,7 +22,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/base_link.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL
1 1 1
@@ -49,7 +49,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/base_link.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/base_link.STL
1 1 1
@@ -121,7 +121,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_1.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL
1 1 1
@@ -148,7 +148,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_1.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_1.STL
1 1 1
@@ -220,7 +220,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_3.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL
1 1 1
@@ -247,7 +247,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_3.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_3.STL
1 1 1
@@ -319,7 +319,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_2.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL
1 1 1
@@ -346,7 +346,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_2.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_2.STL
1 1 1
@@ -418,7 +418,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_4.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL
1 1 1
@@ -445,7 +445,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_4.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_4.STL
1 1 1
@@ -517,7 +517,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_5.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL
1 1 1
@@ -544,7 +544,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_5.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_5.STL
1 1 1
@@ -616,7 +616,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_6.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL
1 1 1
@@ -643,7 +643,7 @@
0 0 0 0 -0 0
- /root/.gazebo/models/fanuc_robotic_arm/meshes/arm_link_6.STL
+ /home/rrrobot/rrrobot_src/src/gazebo_models/fanuc_robotic_arm/meshes/arm_link_6.STL
1 1 1
@@ -898,5 +898,7 @@
0
0
+
+
diff --git a/src/run_rrrobot_image.sh b/run_rrrobot_image.sh
similarity index 76%
rename from src/run_rrrobot_image.sh
rename to run_rrrobot_image.sh
index 03739a6..b9fb3f5 100755
--- a/src/run_rrrobot_image.sh
+++ b/run_rrrobot_image.sh
@@ -1,5 +1,5 @@
#docker run -i -h rrrobot-env -t eecs467:rrrobot bash
xhost +local:docker #rrrobot-env
-docker run -it --rm --device=/dev/input/event4 --device=/dev/dri:/dev/dri -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v$PWD/gazebo_models:/root/.gazebo/models -h rrrobot-env eecs467:rrrobot
+docker run -it --rm --device=/dev/input/event4 --device=/dev/dri:/dev/dri -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix -v $PWD/rrrobot_src:/home/rrrobot/rrrobot_src -h rrrobot-env eecs467:rrrobot
xhost -local:docker #rrrobot-env
diff --git a/src/.env b/src/.env
deleted file mode 100644
index 48e746e..0000000
--- a/src/.env
+++ /dev/null
@@ -1,3 +0,0 @@
-# .env for docker-compose
-
-IP_ADDRESS=192.168.1.14
diff --git a/src/gazebo/Dockerfile b/src/gazebo/Dockerfile
deleted file mode 100644
index cfbf4f4..0000000
--- a/src/gazebo/Dockerfile
+++ /dev/null
@@ -1,8 +0,0 @@
-# Gazebo Dockerfile
-
-# Use official image for Gazebo 9.x
-FROM gazebo:gzserver9
-
-COPY $PWD/gazebo_models /root/.gazebo/models
-
-CMD ["/bin/bash"]
diff --git a/src/gazebo/run_rrrobot_image.sh b/src/gazebo/run_rrrobot_image.sh
deleted file mode 100755
index c62c1c7..0000000
--- a/src/gazebo/run_rrrobot_image.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#docker run -i -h rrrobot-env -t eecs467:rrrobot bash
-
-#xhost +local:docker
-#docker run -it --privileged --security-opt seccomp=unconfined -v $SSH_AUTH_SOCK:/ssh-agent --env SSH_AUTH_SOCK=/ssh-agent --device=/dev/dri:/dev/dri -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix --env QT_X11_NO_MITSHM=1 -h rrrobot-env eecs467:rrrobot
-#xhost -local:docker
-
-../run_rrrobot_image.sh