basic code generation has been implemented