refining message reading