breaking out the classes

latest changes before moving to modules