non blocking sockets
small refactoring
non conclusive tests