Added new classes and refactor another.