learning sockets'n stuff