Requirements.
Rewrote classes to be more traditional.