add getPeers
add announcePeer
friendlier return types and start of recursive lookup