add base for MetaCodeGen