small progress refactoring