refactoring all over, done