now handles comms from others and from self