refactoring + changed when to delete world objects