implements io::net::socket
minor fixes