refactoring, introducing BaseClassification and inheritance classes for better maintenance