minor refactor
added code gen skeleton