Added several new classes and refactored a few names.