significant update to how sockets are created and joined, addition of init to options