cleaned classes and handling