new implementations with abstract sockets
adding abstract sockets
adding new classes
new version