anchor.diff:  handle_call({add, TaskName, Schedule, Detail}, _From, State = #state{ tasks = Tasks }) ->
       %% TODO: receive a message from task worker
       NewTasks = dict:store(TaskName, {Schedule, Detail}, Tasks),
  -    io:format("adds a task: {~p, ~p, ~p}", [TaskName, Schedule, Detail]),
  +    lager:info("adds a task: {~p, ~p, ~p}", [TaskName, Schedule, Detail]),
       {reply, ok, State#state{ tasks = NewTasks }};
   handle_call({cancel, TaskName}, _From, State) ->
       %% TODO: receive a message from task worker
       NewTasks = dict:erase(TaskName, State#state.tasks),
       {reply, ok, State#state{ tasks = NewTasks }};
   handle_call({show, all}, _From, State) ->
  -    {reply, dict:to_list(State#state.tasks), State};
  +    {reply, format_schedules(dict:to_list(State#state.tasks)), State};
   handle_call({show, TaskName}, _From, State) ->
       case dict:find(TaskName, State#state.tasks) of
           error -> 
               {reply, {TaskName, not_found}, State};
           {ok, Task} ->
  -            %% TODO: formats output.
  -            {reply, {TaskName, Task}, State}
  +            {reply, {TaskName, format_schedule({TaskName, Task})}, State}
       end;
   handle_call({members}, _From, State) ->
       {reply, State#state.nodes, State};
  
positive.code: %% TODO: specifies the proprietary schedule time format.
  -type schedule() :: term().
  -type detail() :: binary().
  -type node_status() :: joined | lost | joinning | leaving.
  
  %%%===================================================================
  
negative.code: %%% @end
  -spec show_schedules() -> term().
  show_schedules() -> 
      Bins = gen_server:call(?SERVER, {show, all}),
      %% TODO: delete theses prints in future. This output is for debug on erlang shell.
      io:format("[task_name]\t[schedule]\t[description]\n"),
      io:format("~ts",[Bins]),
      Bins.
  
  %%% @doc
  %%% Lists up members of distributed nodes.
  