working socket.io setup