add class methods. refactor generate.mtl

I will likely add more tests, but since I completely rewrote generate.mtl I wanted this merged in before everyone started working on their other user stories.

test results: https://76.230.139.159:8085/job/jon-test/lastCompletedBuild/testReport/