Now full program generation!
Preserving my pre-merge changes