initial implimentation of sockets