sockets
refactoring
sockets