added socket io and a bunch of other stuff