add socket.io support and multiple languages