started on code generation