going to try using sockets