reconstruct messagecontext implementation