                         
                         testZoomed ? cam.runAction(zoomIn) : cam.runAction(zoomOut)
                         testZoomed = testZoomed ? false : true
-                    }
-                    if name == "rainButton" {
+                    } else if name == "rainButton" {
                         let raindrop = Raindrop()
                         addChild(raindrop)
                         raindrop.zPosition = 100000
                         raindrop.drop(view!.center, windSpeed: windSpeed, scene: self)
-                    }
-                    if name == "lightningButton" {
-                        let lightning = Lightning(view: view!)
-                        addChild(lightning)
-                        lightning.position = penguin.position // view!.center
-                        lightning.zPosition = 100000
-                    }
-                    if name == "sharkButton" {
-                        let shark = Shark()
-                        shark.position = view!.center
-                        addChild(shark)
-                        shark.beginSwimming()
-                    }
-                    if name == "stormButton" {
+                    } else if name == "lightningButton" {
+                        if let berg = (stage as IcebergGenerator).highestBerg {
+                            let lightningRandomX = CGFloat(random()) % berg.size.width - berg.size.width / 2
+                            let lightningRandomY = CGFloat(random()) % berg.size.height - berg.size.height / 2
+                            let lightningPosition = CGPoint(x: berg.position.x + lightningRandomX, y: berg.position.y + lightningRandomY)
+                            let lightning = Lightning(view: view!)
+                            lightning.position = lightningPosition
+                            lightningLayer?.addChild(lightning)
+                        }
+                    } else if name == "sharkButton" {
+                        if let berg = (stage as IcebergGenerator).highestBerg {
+                            let sharkX = berg.position.x
+                            let sharkY = berg.position.y + (350 / 4)
+                            let sharkPosition = CGPoint(x: sharkX, y: sharkY)
+                            
+                            let shark = Shark()
+                            shark.position = sharkPosition
+                            shark.beginSwimming()
+                            sharkLayer?.addChild(shark)
+                        }
+                    } else if name == "stormButton" {
                         beginStorm()
-                    }
-                    if name == "moneyButton" {
+                    } else if name == "moneyButton" {
                         for _ in 1...100 {
                             incrementTotalCoins()
                         }
-                    }
-                    
-                    if name == "pauseButton" {
+                    } else if name == "viewOutlineButton" {
+                        viewOutlineOn = !viewOutlineOn
+                    } else if name == "pauseButton" {
                         enterPause()
-//                        if gamePaused == false {
-//                            shouldCorrectAfterPause = true
-//                            gamePaused = true
-//                            penguin.userInteractionEnabled = false
-//                            paused = true
-//                            
-//                            let cover = SKSpriteNode(color: SKColor.blackColor(), size: view!.frame.size)
-//                            cover.name = "pauseCover"
-//                            cover.position = cam.position
-//                            cover.alpha = 0.5
-//                            cover.zPosition = 1000000
-//                            addChild(cover)
-//                            
-//                            let unPause = SKLabelNode(text: "Tap to Play")
-//                            unPause.name = "pauseCover"
-//                            unPause.position = cam.position
-//                            unPause.fontColor = SKColor.whiteColor()
-//                            unPause.fontName = "Helvetica Neue Condensed Black"
-//                            unPause.zPosition = 1000001
-//                            addChild(unPause)
-//                        }
-                    }
-                    if touchedNode.name == "pauseCover" {
+                    } else if touchedNode.name == "pauseCover" {
                         exitPause()
-//                        for child in children {
-//                            if child.name == "pauseCover" {
-//                                child.removeFromParent()
-//                            }
-//                        }
-//                        gamePaused = false
-//                        penguin.userInteractionEnabled = true
-//                        paused = false
+                    } else if penguin.inAir && !penguin.doubleJumped {
+                        // IF A BUTTON WASN'T TOUCHED, IT'S A DOUBLE JUMP COMMAND
+                        // http://stackoverflow.com/questions/26551777/sprite-kit-determine-vector-of-swipe-gesture-to-flick-sprite
+                        // use above for swipe double jump
+                        
+                        penguin.doubleJumped = true
+                        
+                        let delta = positionInScene - penguin.position
+                        
+                        let jumpAir = SKShapeNode(circleOfRadius: 20.0)
+                        jumpAir.fillColor = SKColor.clearColor()
+                        jumpAir.strokeColor = SKColor.whiteColor()
+                        
+                        jumpAir.xScale = 1.0
+                        jumpAir.yScale = 1.0
+                        
+                        jumpAir.position = penguin.position
+                        addChild(jumpAir)
+                        
+                        let airExpand = SKAction.scaleBy(2.0, duration: 0.4)
+                        let airFade = SKAction.fadeAlphaTo(0.0, duration: 0.4)
+                        
+                        airExpand.timingMode = .EaseOut
+                        airFade.timingMode = .EaseIn
+                        
+                        jumpAir.runAction(airExpand)
+                        jumpAir.runAction(airFade, completion: {
+                            self.jumpAir.removeFromParent()
+                        })
+                        
+                        doubleJump(CGVector(dx: -delta.x * 2.5, dy: -delta.y * 2.5))
                     }
                 }
-            }
-            // http://stackoverflow.com/questions/26551777/sprite-kit-determine-vector-of-swipe-gesture-to-flick-sprite
-            // use above for swipe double jump
-            if penguin.inAir && !penguin.doubleJumped {
-                penguin.doubleJumped = true
-                
-                let delta = positionInScene - penguin.position
-                
-                let jumpAir = SKShapeNode(circleOfRadius: 20.0)
-                jumpAir.fillColor = SKColor.clearColor()
-                jumpAir.strokeColor = SKColor.whiteColor()
-                
-                jumpAir.xScale = 1.0
-                jumpAir.yScale = 1.0
-                
-                jumpAir.position = penguin.position
-                addChild(jumpAir)
-                
-                let airExpand = SKAction.scaleBy(2.0, duration: 0.4)
-                let airFade = SKAction.fadeAlphaTo(0.0, duration: 0.4)
-                
-                airExpand.timingMode = .EaseOut
-                airFade.timingMode = .EaseIn
-                
-                jumpAir.runAction(airExpand)
-                jumpAir.runAction(airFade, completion: {
-                    self.jumpAir.removeFromParent()
-                })
-                
-                doubleJump(CGVector(dx: -delta.x * 2.5, dy: -delta.y * 2.5))
             }
         }
     }

        pauseButton.position = CGPoint(x: view.frame.width * 0.5, y: view.frame.height * 0.47)
        pauseButton.position.x -= pauseButton.frame.width * 1.5
        pauseButton.position.y -= pauseButton.frame.height * 2
        cam.addChild(pauseButton)
        
        if presentationMode {
            viewFrame = SKShapeNode(rectOfSize: view.frame.size)
            viewFrame.position = cam.position
            viewFrame.strokeColor = SKColor.redColor()
            viewFrame.fillColor = SKColor.clearColor()
            addChild(viewFrame)
        }
        
//        NSNotificationCenter
    }
    
    func setupScene() {

            
            cam.runAction(pan)
            
            if viewOutlineOn {
                viewFrame.hidden = false
                viewFrame.position = cam.position
            } else {
                viewFrame.hidden = true
            }
        } else {
            cam.removeAllActions()
