Initial Work on the Generator

I do for now, and I think we'll see what input we get. It opens more flexibility.