Exercise

Addition of the exercise generation system.
Lets put this into a different pr. I want to get this pr wrapped up and merged.