need to write my own logic for handling the sockets and possibly the auth