create the builder and factory for metamodel