anchor.diff:  		    _ ->
   			States
   		end,
  -	    IsNew = fun(E) -> is_new(E, Opts) end,
  -	    Prepare = fun(E) -> coord_prep(E, Opts) end,
  -	    NewEntries = lists:filter(IsNew, Entries),
  -	    PrepedNewEntries = lists:map(Prepare, NewEntries),
  +	    NewEntries = [E || E <- Entries, is_new(E, Opts)],
  +	    PrepedNewEntries = [coord_prep(E, Opts) || E <- NewEntries],
   	    hash_insert(PrepedNewEntries),
   	    NewStates = [get_state(E) || E <- NewEntries],
   	    NumNewStates = length(NewStates),
  
positive.code: 			stop -> exit(normal)
  		    end;
  		false ->
  		    Prepare = fun(E) -> worker_prep(E, Opts) end,
  		    IsNew = fun(E) -> is_new(E, Opts) end,
  		    NextEntries = next_entries(Env, FilteredState, Opts),
  		    PrepedEntries = lists:map(Prepare, NextEntries),
  		    NewEntries =
  			case Opts#opts.precheck of
  			    true  -> lists:filter(IsNew, PrepedEntries);
  			    false -> PrepedEntries
  			end,
  		    coordinator ! {entries, NewEntries, self()},
  
negative.code: 		false -> Moves
  	    end;
  	false ->
  	    Entries = next_entries(Env, State, Opts),
  	    Entries2 = case Opts#opts.solution of
  			   true  -> Entries;
  			   false -> [trim_backstep(E) || E <- Entries]
  		       end,
  	    NewEntries = [E || E <- Entries2, is_new(E, Opts)],
  	    CompNewEntries = [compress_entry(E, Opts) || E <- NewEntries],
  	    hash_insert(CompNewEntries),
  	    NewStates = [get_state(E) || E <- NewEntries],
  	    bfs_serial(Moves, Env, Rest, NewStates ++ NextOpen, Opts)
  