Grand Commit

Ubdating some classes and add others.
Revert "Grand Commit"

This reverts commit 68a7a975684a3d857851c4410536dc4b9e0619aa.
Grand Commit