         playerBullets.removeChildrenInArray(bulletsToRemove)
     }
     
+    private func updateEnemies() {
+        var enemiesToRemove:[EnemyNode] = []
+        for node in enemies.children as! [EnemyNode] {
+            if !CGRectContainsPoint(frame, node.position) {
+                // Mark enemy for removal
+                enemiesToRemove.append(node)
+                continue
+            }
+        }
+        
+        enemies.removeChildrenInArray(enemiesToRemove)
+    }
+    
     // Spawn a sequence of enemies
     private func spawnEnemies() {
         let count = UInt(log(Float(levelNumber))) + levelNumber

        }
    }
    
    
}

    }
   
    override func update(currentTime: CFTimeInterval) {
        if finished {
            return
        }
        updateBullets()
        updateEnemies()
        checkForNextLevel()
    }
    
    private func updateBullets() {
