anchor.diff:                   <<".\n">>]),
               {succeed, false, Props}
       end;
  -attempt(_Owner, Props, {search, _Source, Self}) ->
  -    {succeed, true, Props};
  -attempt(Owner, Props, {search, _Source, Owner}) ->
  +attempt(_Owner, Props, {look, _Source, Self}) ->
  +    {succeed, true, Props};
  +attempt(Owner, Props, {look, _Source, Owner}) ->
       {succeed, true, Props};
   attempt(Owner, Props, {describe, _Source, Owner}) ->
       {succeed, true, Props};
   % I don't think I need this until the character can keep the room
   % from being searchable
  -%attempt(Owner, Props, {search, _Source, Owner, Hierarchy}) ->
  +%attempt(Owner, Props, {look, _Source, Owner, Hierarchy}) ->
       %% TODO: check if character is searchable; e.g. unconcious, bound, dead, etc.
       %% In other words, an immobile character.
       %% Players that are alive and unbound (i.e. mobile) are not searchable.
  
positive.code:     %% TODO: kill/disconnect all connected processes
      %% TODO: drop all objects
      {stop, cleanup_succeeded, Props};
  succeed(Props, {search, Source, Owner}) ->
      _ = case is_owner(Owner, self()) of
              true ->
                  describe(Source, Owner, Props);
  
negative.code:     {succeed, _IsCurrAttack = lists:member({attack, Attack}, Props), Props};
  attempt(_Owner, Props, {die, Self}) when Self == self() ->
      {succeed, true, Props};
  attempt(_Owner, Props, {look, Source, TargetName}) when Source =/= self(),
                                                    is_binary(TargetName) ->
      log(debug, [<<"Checking if name ">>, TargetName, <<" matches">>]),
      SelfName = proplists:get_value(name, Props, <<>>),
      case re:run(SelfName, TargetName, [{capture, none}]) of
          match ->
              NewMessage = {look, Source, self(), erlmud_hierarchy:new(self())},
              {{resend, Source, NewMessage}, _ShouldSubscribe = false, Props};
          _ ->
              log(debug,
  