First round of Class review

Needs end to end test.