improve comms mechanism
tidy up message handling