updated communication protocol to include checksum