   """
   def readch(pid, ch, timeout \\ @to) do
     Agent.get_and_update(pid, fn {nid, buf} ->
-      now = :erlang.monotonic_time :milli_seconds
+      now = now()
       index = index(buf, ch)
       size = byte_size(buf)
       dl =  now + timeout

  """
  def readn(pid, count, timeout \\ @to) do
    Agent.get_and_update(pid, fn {nid, buf} ->
      now = :erlang.monotonic_time :milli_seconds
      size = byte_size(buf)
      dl = now + timeout
      {res, head, tail} = read_n(nid, [buf], size, count, dl)

        case data do
          <<>> ->
            :timer.sleep @sleep
            now = now()
            case now > dl do
              true -> {:to, all(iol), <<>>}
              false -> read_ch(nid, iol, -1, size, ch, dl)
