refactored with addSocket and initSocket for individual sockets now can do runtime socket addition after init