bringing in socket.io as internal dep