some new classes and changes