anchor.diff:          fun() -> 
               gen_server:reply(From, {ok, dets:match(State#state.storage, {'$1', '$2', ['$3'|'_']})})
           end),
  -    {noreply, State}.
  +    {noreply, State};
   
   handle_call({storage_list_package_builds, Name}, From, State) ->
       erlang:spawn(
           fun() -> 
  -            [Bids] = dets:match(State#state.storage, {{Name, '_'}, '_', '$1'}),
  -            Res = [X || dets:match(State#state.storage, {
  -        end),
  -    {noreply, State}.
  +            gen_server:reply(From, {ok, 
  +                    dets:match(State#state.storage, 
  +                            {{'$1', {Name, '$2'}}, '$3', '$4', '$5', '$6', '_', '_'})})
  +        end),
  +    {noreply, State};
  +
  +handle_call(storage_list_builds, From, State) ->
  +    erlang:spawn(
  +        fun() -> 
  +            gen_server:reply(From, {ok, 
  +                    dets:select(State#state.storage, 
  +                        [{{'$1', {'$2', '$3'}}, '$4', '$5', '$6', '_', '_', '_'}, [{'>', '$1', State#state.work_id-?LIST_LENGTH}], []])})
  +        end),
  +    {noreply, State};
  +
  +handle_call({storage_build_info, Id}, From, State) ->
  +    erlang:spawn(
  +        fun() -> 
  +            gen_server:reply(From, {ok, 
  +                    dets:match(State#state.storage, 
  +                            {{Id, {'$1', '$2'}}, '$3', '$4', '$5', '$6', '$7', '$8'})})
  +        end),
  +    {noreply, State};
   
   handle_call(_Request, _From, State) ->
       {reply, ok, State}.
  
positive.code:             <<"...">>,
              <<"...">>
          }),
      {noreply, State};
  
  handle_cast({store_progress_build, [
              {Name, Branch},
  
negative.code:             WorkId,
              CommitHash
          ]}, State=#state{storage=S}) ->
      update_work_id(State#state.work_id_file, WorkId),
      case dets:lookup(S, {Name, Branch}) of
          [] ->
              dets:insert(S, {{Name, Branch}, "...", [WorkId]});
  