add: socket communication