figure out how to use sockets