     }
     
     func appendValue(newValue: CGFloat) {
-        
-        if ++waveSampleCount % fps == 0{
+
+        waveSampleCount += 1
+
+        if waveSampleCount % fps == 0{
             
             waveSamples.append(newValue)
             

                self.layer.addSublayer(waveline)
                self.waves.addObject(waveline)
            }
            
        }
    }



    var waverCallback: ((waver: Waver) -> ())? {
        didSet {
            displayLink = CADisplayLink(target: self, selector: #selector(Waver.callbackWaver))
            displayLink.addToRunLoop(NSRunLoop.currentRunLoop(), forMode: NSRunLoopCommonModes)
            
            (0..<self.numberOfWaves).forEach { i in
                let waveline = CAShapeLayer()
                waveline.lineCap       = kCALineCapButt
                waveline.lineJoin      = kCALineJoinRound
