remade codegen so it is parseble, now needs to modify to LLVM code