     }
 }
 
+// CGSize Private
+extension CGSize {
+    func scale(factor: CGFloat) -> CGSize {
+        return CGSize(width: self.width * factor, height: self.height * factor)
+    }
+}
 

extension Bird {
    func flap() {
        node.physicsBody!.velocity = CGVector(dx: 0, dy: 0)
        node.physicsBody!.applyImpulse(CGVector(dx: 0, dy: 8))
    }
    
    func update() {

    func createNode() -> SKSpriteNode {
        let birdNode = SKSpriteNode(imageNamed: textureNames.first!)
        birdNode.zPosition = 2.0
        birdNode.physicsBody = SKPhysicsBody.rectSize(birdNode.size.scale(0.8)) {
            body in
            body.dynamic = true
            body.categoryBitMask    = BodyType.bird.rawValue
