diff --git a/assets/desktop/code_ros.desktop b/assets/desktop/code_ros.desktop
index b6294cc..4e497ec 100755
--- a/assets/desktop/code_ros.desktop
+++ b/assets/desktop/code_ros.desktop
@@ -1,5 +1,5 @@
[Desktop Entry]
-Name=VS Code + ROS
+Name=VS Code
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/bin/bash -c "source /home/clover/catkin_ws/devel/setup.bash; /usr/share/code/code --no-sandbox --unity-launch %F"
diff --git a/assets/desktop/jMAVSim Clover.desktop b/assets/desktop/jMAVSim Clover.desktop
new file mode 100644
index 0000000..772b121
--- /dev/null
+++ b/assets/desktop/jMAVSim Clover.desktop
@@ -0,0 +1,10 @@
+[Desktop Entry]
+Version=1.0
+Type=Application
+Name=jMAVSim + Clover
+Comment=A lightweight PX4 simulator + Clover services
+Exec=/bin/bash -c 'source /home/clover/catkin_ws/devel/setup.bash; roslaunch clover_simulation simulator.launch type:=jmavsim'
+Icon=openjdk-8
+Path=
+Terminal=true
+StartupNotify=false
diff --git a/assets/patches/sitl_gazebo.patch b/assets/patches/sitl_gazebo.patch
index d5a0a62..94b5f68 100644
--- a/assets/patches/sitl_gazebo.patch
+++ b/assets/patches/sitl_gazebo.patch
@@ -13,3 +13,62 @@ index ae0fb34..12f17b8 100644
eigen
gazebo_ros
geometry_msgs
+diff --git a/include/gazebo_opticalflow_plugin.h b/include/gazebo_opticalflow_plugin.h
+index 4fbeab2..18a192b 100644
+--- a/include/gazebo_opticalflow_plugin.h
++++ b/include/gazebo_opticalflow_plugin.h
+@@ -40,7 +40,7 @@
+ #include "flow_px4.hpp"
+
+ #define DEFAULT_RATE 20
+-#define HAS_GYRO TRUE
++#define HAS_GYRO true
+
+ using namespace cv;
+ using namespace std;
+diff --git a/src/gazebo_geotagged_images_plugin.cpp b/src/gazebo_geotagged_images_plugin.cpp
+index 050558f..7029199 100644
+--- a/src/gazebo_geotagged_images_plugin.cpp
++++ b/src/gazebo_geotagged_images_plugin.cpp
+@@ -581,7 +581,8 @@ void GeotaggedImagesPlugin::_send_capture_status(struct sockaddr* srcaddr)
+ 0, // video status (Idle)
+ interval, // image interval
+ 0, // recording_time_s
+- available_mib); // available_capacity
++ available_mib, // available_capacity
++ _imageCounter);
+ _send_mavlink_message(&msg, srcaddr);
+ }
+
+@@ -591,6 +592,7 @@ void GeotaggedImagesPlugin::_handle_storage_info(const mavlink_message_t *pMsg,
+ float total_mib = 0.0f;
+ float available_mib = 0.0f;
+ boost::filesystem::space_info si = boost::filesystem::space(".");
++ const std::string storage_name = "SITL Camera Storage";
+ available_mib = (float)((double)si.available / (1024.0 * 1024.0));
+ total_mib = (float)((double)si.capacity / (1024.0 * 1024.0));
+ _send_cmd_ack(pMsg->sysid, pMsg->compid, MAV_CMD_REQUEST_STORAGE_INFORMATION, MAV_RESULT_ACCEPTED, srcaddr);
+@@ -608,7 +610,9 @@ void GeotaggedImagesPlugin::_handle_storage_info(const mavlink_message_t *pMsg,
+ total_mib - available_mib, // used_capacity,
+ available_mib,
+ NAN, // read_speed,
+- NAN // write_speed
++ NAN, // write_speed
++ STORAGE_TYPE_OTHER, // storage type
++ storage_name.c_str() // storage name
+ );
+ _send_mavlink_message(&msg, srcaddr);
+ }
+diff --git a/src/gazebo_mavlink_interface.cpp b/src/gazebo_mavlink_interface.cpp
+index 5d29017..d4dd6a7 100644
+--- a/src/gazebo_mavlink_interface.cpp
++++ b/src/gazebo_mavlink_interface.cpp
+@@ -1039,7 +1039,7 @@ void GazeboMavlinkInterface::VisionCallback(OdomPtr& odom_message) {
+
+ odom.time_usec = odom_message->time_usec();
+
+- odom.frame_id = MAV_FRAME_VISION_NED;
++ odom.frame_id = 16 /*MAV_FRAME_VISION_NED*/;
+ odom.child_frame_id = MAV_FRAME_BODY_FRD;
+
+ odom.x = position.X();
diff --git a/build.sh b/build.sh
index 3c51272..7939780 100755
--- a/build.sh
+++ b/build.sh
@@ -28,7 +28,8 @@ ${PACKER} build ros_ide_vm.json
echo "--- Marking the VM"
GIT_REV=$(git rev-parse --short HEAD)
-VM_NAME="clover-devel_v0.22+${GIT_REV}.ova"
+GIT_DESCRIBE=$(git describe --tags)
+VM_NAME="clover-devel_${GIT_DESCRIBE}.ova"
mv ./output-virtualbox-ovf/clover-devel.ova ./output-virtualbox-ovf/${VM_NAME}
echo "--- All done!"