   }
 
   override func update(currentTime: NSTimeInterval) {
-    let ball = self.childNodeWithName(ballName) as! SKSpriteNode!
+    guard let ball = self.childNodeWithName(ballName) as? SKSpriteNode,
+          let physicsBody = ball.physicsBody else {
+        return;
+    }
 
     let maxSpeed: CGFloat = 600.0
-    let speed = sqrt(ball.physicsBody!.velocity.dx * ball.physicsBody!.velocity.dx + ball.physicsBody!.velocity.dy * ball.physicsBody!.velocity.dy)
+    let speed = sqrt(physicsBody.velocity.dx * physicsBody.velocity.dx + physicsBody.velocity.dy * physicsBody.velocity.dy)
 
     if speed > maxSpeed {
-      ball.physicsBody!.linearDamping = 0.4
+      physicsBody.linearDamping = 0.4
     }
     else {
-      ball.physicsBody!.linearDamping = 0.0
+      physicsBody.linearDamping = 0.0
     }
   }
 

}

class StartScene: SKScene {

  var contentCreated = false

  override func didMoveToView(view: SKView) {


    return descriptionNode
  }
}
