In another aspect of the present invention there is provided a method of routing messages in a peer to peer network, the method comprising the step of upon receiving a message determining the type of the message and if the message is a query, forwarding the message to a heuristically selected host.