refactoring points purse steps