endorsements, and refactoring