re-wrote client side api. can load sockets for multiple urls.