combined multiple files into 1 and simplified calls to code generation helper methods