diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java
index 179b77c8c9530722dec84f08a00a2e170fe85dd9..eddd4de9d3412753098ef4083bf773ef40491b68 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Communication/ClientControllerCommunicator.java
@@ -63,7 +63,7 @@ public class ClientControllerCommunicator {
         if (singleton == null){
             singleton = new ClientControllerCommunicator(client);
         }
-        // TODO CREATE ALL CONTROLLERS HERE
+        // TODO CREATE ALL CONTROLLERS HERE, all controllers should be singletons
         return singleton;
     }
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
index caaac09f2b028807fb2cbf08f05a93983d56225b..7fbcebfcaf10256fee1c4f85d71b749186ae0a66 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/Ship.java
@@ -83,7 +83,7 @@ public class Ship implements Serializable {
      * The planet the ship is currently at
      */
     @NonNull
-    @ManyToOne
+    @ManyToOne(cascade = CascadeType.ALL)
     private Planet planet;
 
     /** Shields */
@@ -98,12 +98,12 @@ public class Ship implements Serializable {
 
     /** This ship's systems */
     @NonNull
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Room> systems;
 
     /** Inventory */
     @NonNull
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Weapon> inventory;
 
     /** Whether or not the ship is in combat */
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
index 2999c1c4b4d53237f39edc0440c6db826862a6d6..71331091e6565da7f5a1e9eb4a02d2eeda3e6e7e 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/Room.java
@@ -4,6 +4,7 @@ package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout;
 import com.galaxytrucker.galaxytruckerreloaded.Model.Crew.Crew;
 import lombok.*;
 
+import javax.persistence.CascadeType;
 import javax.persistence.Entity;
 import javax.persistence.Id;
 import javax.persistence.OneToMany;
@@ -57,6 +58,6 @@ public abstract class Room implements Serializable {
 
     /** Crew in this system */
     @NonNull
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Crew> crew;
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
index 04622e6a4e888aaf62bfb9c81ee20efa9b931b7d..6da0fbb03f7e36405a5920a63f0cfb0832b0bbc5 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/ShipLayout/WeaponSystem.java
@@ -3,10 +3,7 @@ package com.galaxytrucker.galaxytruckerreloaded.Model.ShipLayout;
 import com.galaxytrucker.galaxytruckerreloaded.Model.Weapons.Weapon;
 import lombok.*;
 
-import javax.persistence.ElementCollection;
-import javax.persistence.Entity;
-import javax.persistence.ManyToOne;
-import javax.persistence.OneToMany;
+import javax.persistence.*;
 import java.util.List;
 
 @RequiredArgsConstructor(access = AccessLevel.PUBLIC)
@@ -20,7 +17,7 @@ public class WeaponSystem extends System {
     private boolean manned = false;
 
     /** List of weapons this ship has */
-    @OneToMany
+    @OneToMany(cascade = CascadeType.ALL)
     private List<Weapon> shipWeapons;
 
 }
diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
index de50f1770633dfc9b60bddecd37b2db43be6516b..7c233300d6c9edd370212d867fdc123afa72464b 100644
--- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
+++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Model/User.java
@@ -26,11 +26,11 @@ public class User implements Serializable {
     /**
      * The user's ship
      */
-    @OneToOne
+    @OneToOne(cascade = CascadeType.ALL)
     private Ship userShip;
 
     /** The user's overWorld map */
-    @OneToOne
+    @OneToOne(cascade = CascadeType.ALL)
     private Overworld overworld;
 
     /** Whether or not the user is logged in */