refactor: don't carry around so much state
cosmetic