         
         //Yes, exactly. Fail in runtime if we can not create a loop
         self._loop = try! Loop()
+        
+        self._caller = try! Prepare(loop: _loop) { _ in
+            for task in personalQueue.content {
+                task()
+            }
+            personalQueue.content.removeAll()
+        }
+        
         //same with async
         self._wake = try! Async(loop: _loop) { _ in
             sema.wait()

    
    private let _loop:Loop
    private let _wake:Async
    private let _semaphore:SemaphoreType
    
    init() {

        defer {
            timer.close()
        }
        while until.timeIntervalSinceNow >= 0 {
            _loop.run(mode)
            if once {
                break
