Revert "More Classes"

This reverts commit 965814c7d57edcf31f5fe4383562ac43e702de1c.
Revert "Revert "Classes""

This reverts commit 7a1f5e2113ebe6a35489f867a450bc5677f51d10.
Revert "Revert "Revert "Restructuring"""

This reverts commit 22b675fa054f1ceda99bd7d52652d7ab57c746dd.