written according to socket.io getting started guide