BodyReader refactoring