refactored sockets to pull instead of true sockets