add app parser/codegen