 /// - parameter bandwidth: Bandwidth (Cents) ranges from 100 to 12000 (Default: 600)
 ///
 public class AKBandPassFilter: AKNode {
-    
+
     private let cd = AudioComponentDescription(
         componentType: kAudioUnitType_Effect,
         componentSubType: kAudioUnitSubType_BandPassFilter,
         componentManufacturer: kAudioUnitManufacturer_Apple,
         componentFlags: 0,
         componentFlagsMask: 0)
-    
+
     internal var internalEffect = AVAudioUnitEffect()
     internal var internalAU = AudioUnit()
+
+    /// Required property for AKNode containing the output node
     public var avAudioNode: AVAudioNode
+
     /// Required property for AKNode containing all the node's connections
     public var connectionPoints = [AVAudioConnectionPoint]()
-    
+
     private var input: AKNode?
+    private var mixer: AKMixer
     
     /// Center Frequency (Hz) ranges from 20 to 22050 (Default: 5000)
     public var centerFrequency: Double = 5000 {
         didSet {
             if centerFrequency < 20 {
                 centerFrequency = 20
-            }
+            }            
             if centerFrequency > 22050 {
                 centerFrequency = 22050
             }

            self.centerFrequency = centerFrequency
            self.bandwidth = bandwidth
            
            internalEffect = AVAudioUnitEffect(audioComponentDescription: cd)
            self.avAudioNode = internalEffect
            AKManager.sharedInstance.engine.attachNode(self.avAudioNode)
            input.addConnectionPoint(self)
            internalAU = internalEffect.audioUnit
            
            AudioUnitSetParameter(internalAU, kBandpassParam_CenterFrequency, kAudioUnitScope_Global, 0, Float(centerFrequency), 0)
            AudioUnitSetParameter(internalAU, kBandpassParam_Bandwidth, kAudioUnitScope_Global, 0, Float(bandwidth), 0)
    }
    
    /// Function to start, play, or activate the node, all do the same thing
    public func start() {
        if isStopped {
            self.avAudioNode = internalEffect
            isStarted = true
        }
    }
    
    /// Function to start, play, or activate the node, all do the same thing
    public func play() {
        start()
    }
    
    /// Function to stop or bypass the node, both are equivalent
    public func stop() {
        if isPlaying {
            self.avAudioNode = self.input!.avAudioNode
            isStarted = false
        }
    }
    
    /// Function to stop or bypass the node, both are equivalent
    public func bypass() {
        stop()

        }
    }
    
    /// Dry/Wet Mix (Default 50)
    public var dryWetMix: Double = 50.0 {
        didSet {
            if dryWetMix < 0 {
                dryWetMix = 0
            }
            if dryWetMix > 100 {
                dryWetMix = 100
            }
            inputGain?.gain = 1 - dryWetMix / 100.0
            effectGain?.gain = dryWetMix / 100.0
        }
    }
    
    private var inputGain: AKGain?
    private var effectGain: AKGain?

    /// Tells whether the node is processing (ie. started, playing, or active)
    public var isStarted = true

    /// Tells whether the node is processing (ie. started, playing, or active)
    public var isPlaying: Bool {
        return isStarted
    }

    /// Tells whether the node is not processing (ie. stopped or bypassed)
    public var isStopped: Bool {
        return !isStarted
    }

    /// Tells whether the node is not processing (ie. stopped or bypassed)
    public var isBypassed: Bool {
        return !isStarted
    }

    /// Initialize the band pass filter node
    ///
    /// - parameter input: Input node to process
