Added some new classes and some comments