refactor, repurpose