Just refactoring the existing ngen code without any changes that are non style / interface. 

I can depend on `prompt` or something similar though.