     |> with_exp
     |> with_iat
     |> with_nbf
-    |> with_validation(:exp, &(&1 > get_current_time))
-    |> with_validation(:iat, &(&1 < get_current_time))
-    |> with_validation(:nbf, &(&1 < get_current_time))
+    |> with_validation(:exp, &(&1 > current_time))
+    |> with_validation(:iat, &(&1 < current_time))
+    |> with_validation(:nbf, &(&1 < current_time))
   end
 
   @doc """

  """
  @spec with_exp(Token.t) :: Token.t
  def with_exp(token = %Token{claims: claims}) do
    %{ token | claims: Map.put(claims, :exp, get_current_time + (2 * 60 * 60 * 1000)) }
  end

  @doc """

  @doc """
  Helper function to get the current time
  """
  def current_time() do
    {mega, secs, _} = :os.timestamp()
    mega * 1000000 + secs
  end
