 
   defp get_ring(server), do: GenServer.call(server, :get_ring)
 
-  defp up_nodes(ring) do
-    MapSet.difference(ring.up_set, MapSet.new(get_set(ring.forced_down)))
-  end
+  defp up_nodes(ring),
+    do: MapSet.difference(ring.up_set, MapSet.new(get_set(ring.forced_down)))
 
   defp monitor(list) do
     list = List.delete(list, node())
     Enum.each(list, fn(n) -> Node.monitor(n, :true) end)
   end
 
-  defp gen_ring(set, up, payload, counter, callback) do
-    gen_ring(set, up, payload, counter, callback, Crdtex.Set.new)
-  end
+  defp gen_ring(set, up, payload, counter, callback),
+    do: gen_ring(set, up, payload, counter, callback, Crdtex.Set.new)
   defp gen_ring(set, up, payload, counter, callback, forced_down) do
     %GenServerring{node_set: set, up_set: up, forced_down: forced_down,
       payload: payload, counter: counter, callback: callback}

    Genserver.stop(server, reason, timeout)
  end

  def add_node(server, node) when is_binary(node) do
    add_node(server, :"#{node}")
  end
  def add_node(server, node) when is_atom(node) do
    GenServer.cast(server, {:add_node, node})
  end

  def del_node(server, node) when is_binary(node) do
    del_node(server, :"#{node}")
  end
  def del_node(server, node) when is_atom(node) do
    GenServer.cast(server, {:del_node, node})
  end

  # forbid the use of the given node (no gossip sent to it, gossip from it
  # ignored) but it might still be up, it will continue to be monitored as long

    callback = Application.get_env(:gen_serverring, :callback, Demo)
    start(type, [{name, callback}])
  end
  def start(_type, args),
    do: Supervisor.start_link(GenServerring.App.Sup, args)

  defmodule Sup do
    use Supervisor
