working with socket.io