anchor.diff:      end;
   
   parse_args(endofnames, Arg, Cmd) ->
  -    {Chan, Message} = irc_parser:split($:, Arg),
  +    {NickChan, Message} = irc_parser:split($:, Arg),
  +    [Nick, Chan] = string:tokens(NickChan, " "),
       Cmd#irc_cmd{args=[{channel, Chan},
  -                      {message, Message}]};
  +                      {message, Message}],
  +                target=Nick};
   
   parse_args(Name, Args, Cmd) when Name == welcome;
                                    Name == yourhost;
  
positive.code:                              authname=AuthName,
                               mode=UMode,
                               description=Description}};
  parse_nick(Cmd, {[Nick,_Something,NickTS,UserName,HostName,AuthName,Numeric], Description}) ->
      Cmd#irc_cmd{target=#user{numeric=Numeric,
                               nick=Nick,
                               nick_ts=NickTS,
  
negative.code: 
  parse_args(notopic, _Args, Cmd) ->
      Cmd;
  parse_args(topic, Args, Cmd) ->
      {NickChan, Topic} = irc_parser:split($:, Args),
      [Nick, Chan] = string:tokens(NickChan, " "),
      Cmd#irc_cmd{args=[{topic, Topic},
                        {channel, Chan}],
                  target=Nick};
  
  parse_args(topicinfo, Args, Cmd) ->
      case string:tokens(Args," ") of
          [Nick, Chan, Setter, Ts] ->
              Cmd#irc_cmd{target=Nick,
                          args=[{channel, Chan},
                                {topic_set_by, Setter},
                                {topic_set_at, unix_ts_to_datetime(Ts)}]}
      end;
  
  parse_args(namreply, Arg, Cmd) ->
      case string:tokens(Arg," ") of
  