common classes refactoring