                 self?.trySendInstantMessageWithType(.Audio)
             }
 
-            messageToolbar.voiceRecordEndAction = { [weak self] messageToolbar in
+            messageToolbar.voiceRecordEndAction = { _ in
 
                 hideWaver()
 
-                AudioBot.stopRecord { [weak self] fileURL, duration, decibelSamples in
-
-                    guard duration > YepConfig.AudioRecord.shortestDuration else {
-                        return
-                    }
-
-                    self?.sendAudioWithURL(fileURL, compressedDecibelSamples: AudioBot.compressDecibelSamples(decibelSamples, withSamplingInterval: 6, minNumberOfDecibelSamples: 20, maxNumberOfDecibelSamples: 60))
-                }
-            }
-
-            messageToolbar.voiceRecordCancelAction = { messageToolbar in
+                stopRecordAndSendAudio()
+            }
+
+            messageToolbar.voiceRecordCancelAction = { _ in
 
                 hideWaver()
 
                 AudioBot.stopRecord { _, _, _ in
                     println("voiceRecordCancelAction")
                 }
-
-                /*
-                YepAudioService.sharedManager.endRecord()
-
-                YepAudioService.sharedManager.recordTimeoutAction = nil
-                 */
             }
 
             messageToolbar.voiceRecordingUpdateUIAction = { [weak self] topOffset in

                self?.waverView.removeFromSuperview()
            }

            messageToolbar.voiceRecordBeginAction = { [weak self] messageToolbar in

                proposeToAccess(.Microphone, agreed: { [weak self] in


                            if duration > YepConfig.AudioRecord.longestDuration {
                                hideWaver()

                                stopRecordAndSendAudio()
                            }
                        }
                        
