messages and decoding