              */
 
         } else {
-            proposeToAccess(.Microphone, agreed: {
+            proposeToAccess(.Microphone, agreed: { [weak self] in
 
                 do {
                     let decibelSamplePeriodicReport: AudioBot.PeriodicReport = (reportingFrequency: 10, report: { decibelSample in


                    try AudioBot.startRecordAudioToFileURL(nil, forUsage: .Normal, withDecibelSamplePeriodicReport: decibelSamplePeriodicReport)

                } catch let error {
                    println("record error: \(error)")
                }

                let compressedDecibelSamples = AudioBot.compressDecibelSamples(decibelSamples, withSamplingInterval: 1, minNumberOfDecibelSamples: 20, maxNumberOfDecibelSamples: 60)
                let feedVoice = FeedVoice(fileURL: fileURL, sampleValuesCount: decibelSamples.count, limitedSampleValues: compressedDecibelSamples.map({ CGFloat($0) }))
                self?.feedVoice = feedVoice

                self?.state = .Default
            }

            /*
