goal progress refactoring