trying something new with nonblocking sockets