continue optimizing classes and cleaning code