Added some new classes and methods