1. Request is entered to the UserInterface (Command as Plaintext) 2. Request is sent to the IRCServer (Command as Plaintext, NumberOfHelpers as Number, SystemAbbilitiesOfHelpers as PlaintextList, MaxWaitInterval as TimeRange) 3. Request is recieved by a random helper 4. Helper compares it's system information to the SystemAbbilities a) IF IncludesAll THEN Continue b) IF NOT IncludesAll THEN Ignore procedure 5. Helper responds to request (SystemContactID as Hypertext, SystemAbbilities as PlaintextList) 6. IRCServer recieves responses UNTIL MaxWaitInterval runs out 7. IRCServer announces timeout 8. IRCServer picks NumberOfHelpers best helpers 9. IRCServer sends picked helper's SystemContactIDs to UserInterface 10. UserInterface innitiates a private discussion with the picked helpers using the SystemContactID