      - parameter mode: .Interval or Timeout
      - parameter tick: Micro sec for timer tick.
      */
-    public init(loop: Loop = Loop.defaultLoop, mode: TimerMode = .timeout, tick: UInt64){
+    public init(loop: Loop = Loop.defaultLoop, mode: TimerMode = .timeout, delay: UInt64){
         self.mode = mode
-        self.tick = tick
+        self.delay = delay
         self.handle = UnsafeMutablePointer<uv_timer_t>.allocate(capacity: MemoryLayout<uv_timer_t>.size)
         uv_timer_init(loop.loopPtr, handle)
     }

    
    public let mode: TimerMode
    
    public private(set) var tick: UInt64 = 0
    
    private let handle: UnsafeMutablePointer<uv_timer_t>
    

        
        switch(mode) {
        case .timeout:
            uv_timer_start(handle, timer_start_cb, UInt64(delay), 0)
        case .interval:
            uv_timer_start(handle, timer_start_cb, 0, UInt64(delay))
        }
        state = .running
        initalized = true
