         self.cbPeripheralManager = CBPeripheralManager(delegate:self, queue:self.peripheralQueue.queue, options:options)
     }
 
-//    public init(peripheralManager:CBPeripheralManagerWrappable) {
-//        self.peripheralQueue = Queue(dispatch_queue_create("com.gnos.us.peripheral.main", DISPATCH_QUEUE_SERIAL))
-//        super.init()
-//        self.cbPeripheralManager = peripheralManager
-//    }
+    public init(peripheralManager:CBPeripheralManagerWrappable) {
+        self.peripheralQueue = Queue(dispatch_queue_create("com.gnos.us.peripheral.main", DISPATCH_QUEUE_SERIAL))
+        super.init()
+        self.cbPeripheralManager = peripheralManager
+    }
 
     public func service(uuid:CBUUID) -> MutableService? {
         return self.configuredServices[uuid]


    internal var configuredServices  : [CBUUID:MutableService]                          = [:]
    internal var configuredCharcteristics : [CBCharacteristic:MutableCharacteristic]    = [:]
    private var cbPeripheralManager : CBPeripheralManager!

    public let peripheralQueue : Queue
    

    
    var isAdvertising   : Bool                      {get}
    var state           : CBPeripheralManagerState  {get}
    
    func startAdvertising(advertisementData:[String:AnyObject]?)
    func stopAdvertising()
    func addService(service:CBMutableService)
    func removeService(service:CBMutableService)
    func removeAllServices()
    func respondToRequest(request:CBATTRequest, withResult result:CBATTError)
    func updateValue(value:NSData, forCharacteristic characteristic:CBMutableCharacteristic, onSubscribedCentrals centrals:[CBCentral]?) -> Bool
}

extension CBPeripheralManager : CBPeripheralManagerWrappable {}

public class PeripheralManager : NSObject, CBPeripheralManagerDelegate {
    
