Refactoring/CodeGen Init