- some important refactoring
- inheritance
some more refactorings