refactoring, stacking classes