draft decoder for message received from base, it needs lots more of assert/reflect and stuff but it sounds good. tests failure point at problems