anchor.diff:      procedure TreeViewUsersSelectionChanged(Sender: TObject);
     private
       FIRC: TIRC;
  -    procedure AddChannelToList(const Channel: string);
  +    procedure AddChannelToTree(const Channel: string);
       procedure CloseChannel(const Channel: string);
       procedure CloseChannelTab(const Channel: string);
       procedure ConfigureMemo(var Memo: TMemo);
  +    function FindChannelNode(const Channel: string): TTreeNode;
       procedure MostrarConfig;
  -    function OnChannelJoined(const Nome: string): TStrings;
       procedure OnNickListReceived(const Channel: string; List: TStrings);
       procedure OnUserJoined(const Channel, User: string);
       procedure OnUserLeft(const Channel, User: string);
  -    function NovoCanal(const Canal: string): TStrings;
  +    function OnJoinChannel(const Channel: string): TStrings;
       procedure RemoveChannelFromList(const Channel: string);
       procedure RemoveUserFromChannelList(const User: string; const Channel: string);
       function GetTabByName(const Channel: string): TTabSheet;
  +    function NewChannelTab(const Channel: string): TTabSheet;
       procedure WmAfterShow(var Msg: TMessage); message WM_AFTER_SHOW;
       procedure AfterShow;
     public
  
positive.code:   if Channel = '' then
  	  Exit;
  
    //TODO: Verificar se o channel já não está ativo, se estiver selecionar a aba
  
    FIRC.JoinChannel(Channel);
  end;
  
  
negative.code: 
    FIRC.AutoJoinChannels;
    TreeViewUsers.AlphaSort;
  end;
  
  procedure TMainForm.OnNickListReceived(const Channel: string; List: TStrings);
  