anchor.diff:          Hashtag == null -> not_found;
           true -> score(Query, T)
       end.
  -    
  +
  +requested(Query, [{Hashtag, Requestor}|T]) ->
  +    if
  +        Hashtag == Query -> Requestor;
  +        Hashtag == null -> not_found;
  +        true -> score(Query, T)
  +    end.
  +
  +remove(_Requestor, [{null, _}]) -> [{null, {null, null}}];
  +remove(Requestor, [{H, R}|T]) ->
  +    case Requestor == R of
  +        true -> remove(Requestor, T);
  +        false -> [{H, R}|remove(Requestor, T)]
  +    end.
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +
  +scheduler() -> 
  +    receive
  +        Query -> scraper:scrape(Query)
  +    end,
  +    receive
  +    after 10000 -> scheduler()
  +    end.
  
positive.code: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  
  start() ->
      register(master, self()),
      HashList = [{null, null}],
      loop(HashList).
  
  
  loop(HashList) ->
      receive
          {Query} -> scraper:scrape(Query);
          {result, Hashtag, Score} -> loop([{Hashtag, Score}|HashList]);
          {lookup, Hashtag, Pid} ->
              Score = score(Hashtag, HashList),
              case Score == not_found of
                  true -> scraper:scrape(Hashtag);
                  false -> whereis(interface) ! {Hashtag, Score}
              end
      end,
      loop(HashList).
  
  
  
  score(Query, [{Hashtag, Score}|T]) ->
      if
  
negative.code: -module(master).
  -export([start/0, test/1, loop/2]).
  
  %% This is our MVP. Call master:test(Hashtag) and it returns the score.
  
  