refactoring
progress