remembering how to do socket communication