         print(foundNodes)
     }
 
+    public override func addChild(node: SKNode) {
+        if let world = theWorld {
+            world.addChild(node)
+        } else {
+            super.addChild(node)
+        }
+    }
+
     func createWorldLayers() {
-        let worldNode = SKNode()
-        worldNode.name = "world"
-        self.addChild(worldNode)
-
         for layer in WorldLayer.allLayers {
             let layerNode = SKNode()
             layerNode.name = layer.nodeName

        }
    }

    public override func didMoveToView(view: SKView) {
        super.didMoveToView(view)

        addCamera()

        createWorldLayers()

            if layer == .HUD {
                self.theCamera.addChild(layerNode)
            } else {
                self.addChild(layerNode)
            }
        }
    }

    private func createTheWorld() {
        let worldNode = SKNode()
        worldNode.name = "world"
        self.addChild(worldNode)

        self.theWorld = worldNode
    }

    private func addCamera() {
        theCamera.name = WorldLayer.Camera.nodeName
        self.addChild(theCamera)

        self.camera = theCamera
    }
}