better message reading