         }
         currentLabel.snp_makeConstraints { make in
             make.left.equalTo(self.controlPanel.snp_left).with.offset(self.paddingSide)
-            make.bottom.equalTo(self.controlPanel.snp_bottom).with.offset(-self.paddingBottomTime)
+            make.top.equalTo(self.controlPanel.snp_top).with.offset(self.paddingBottomTime)
         }
         totalLabel.snp_makeConstraints { make in
             make.right.equalTo(self.controlPanel.snp_right).with.offset(-self.paddingSide)
-            make.bottom.equalTo(self.controlPanel.snp_bottom).with.offset(-self.paddingBottomTime)
+            make.top.equalTo(self.controlPanel.snp_top).with.offset(self.paddingBottomTime)
         }
         slider.snp_makeConstraints { make in
-            make.left.equalTo(self.previousButton.snp_right).with.offset(self.paddingSide)
-            make.right.equalTo(self.nextButton.snp_left).with.offset(-self.paddingSide)
-            make.bottom.equalTo(self.controlPanel.snp_bottom).with.offset(-self.paddingBottom)
+            make.left.equalTo(self.controlPanel.snp_left).with.offset(self.paddingSide)
+            make.right.equalTo(self.controlPanel.snp_right).with.offset(-self.paddingSide)
+            make.top.equalTo(self.currentLabel.snp_bottom).with.offset(self.paddingBottom)
         }
         previousButton.snp_makeConstraints { make in
-            make.left.equalTo(self.controlPanel.snp_left).with.offset(self.paddingSide)
-            make.bottom.equalTo(self.controlPanel.snp_bottom).with.offset(-self.paddingBottom)
+            make.right.equalTo(self.playButton.snp_left).with.offset(-self.buttonPadding)
+            make.centerY.equalTo(self.playButton.snp_centerY)
+            make.width.equalTo(self.buttonSize)
+            make.height.equalTo(self.buttonSize)
+        }
+        playButton.snp_makeConstraints { (make) -> () in
+            make.centerX.equalTo(self.controlPanel.snp_centerX)
+            make.top.equalTo(self.slider.snp_bottom).with.offset(self.paddingBottom)
+            make.width.equalTo(self.buttonSize * 3/5)
+            make.height.equalTo(self.buttonSize * 3/5)
         }
         nextButton.snp_makeConstraints { make in
-            make.right.equalTo(self.controlPanel.snp_right).with.offset(-self.paddingSide)
-            make.bottom.equalTo(self.controlPanel.snp_bottom).with.offset(-self.paddingBottom)
+            make.left.equalTo(self.playButton.snp_right).with.offset(self.buttonPadding)
+            make.centerY.equalTo(self.playButton.snp_centerY)
+            make.width.equalTo(self.buttonSize)
+            make.height.equalTo(self.buttonSize)
         }
         updateViews()
         player?.addObserver(modalPlayerObserver)

        totalLabel             = UILabel()
        slider                 = UISlider()
        nextButton             = UIButton()
        previousButton         = UIButton()
        playerView             = PlayerView()


            previousButton.hidden = true
            view.bringSubviewToFront(playerView)
        }
        if let state = player?.currentState {
            switch (state) {
            case .Play:
                playButton.setBackgroundImage(UIImage(named: "play"), forState: UIControlState.allZeros)
            case .Pause:
                playButton.setBackgroundImage(UIImage(named: "pause"), forState: UIControlState.allZeros)
            }
        }
        if let track = currentTrack {
            navigationItem.title = track.title
            if let avPlayer = player?.avPlayer {
