added socket.io, prepared for frontend