             
             self.cutOffFrequency = cutOffFrequency
             self.gain = gain
-            super.init()
             
             internalEffect = AVAudioUnitEffect(audioComponentDescription: cd)
-            output = internalEffect
-            AKManager.sharedInstance.engine.attachNode(internalEffect)
-            AKManager.sharedInstance.engine.connect(input.output!, to: internalEffect, format: AKManager.format)
+            self.avAudioNode = internalEffect
+            AKManager.sharedInstance.engine.attachNode(self.avAudioNode)
+            AKManager.sharedInstance.engine.connect(input.output!, to: self.avAudioNode, format: AKManager.format)
             internalAU = internalEffect.audioUnit
-            internalAudioUnit = internalEffect.audioUnit
             
             AudioUnitSetParameter(internalAU, kHighShelfParam_CutOffFrequency, kAudioUnitScope_Global, 0, cutOffFrequency, 0)
             AudioUnitSetParameter(internalAU, kHighShelfParam_Gain,            kAudioUnitScope_Global, 0, gain, 0)

    
    private var internalEffect = AVAudioUnitEffect()
    private var internalAU = AudioUnit()
    public var internalAudioUnit:AudioUnit?
    
    /** Cut Off Frequency (Hz) ranges from 10000 to 22050 (Default: 10000) */
    public var cutOffFrequency: Float = 10000 {

import AVFoundation

/** AudioKit version of Apple's HighShelfFilter Audio Unit */
public struct AKHighShelfFilter: AKProtocolNode {
    
    private let cd = AudioComponentDescription(
        componentType: kAudioUnitType_Effect,
