Added in some new classes and functionality