refactored out callbacks and made sockets listen for provider to be listening before gathering info like ip and port