add socket.io + test
merge