drafted MapTemplate.createInstance()