cache the body in context