tightening up low-level message handling