generalize read result msg