updated comms functions