classes refactoring