added express and socket.io, refactored a few things