diff --git a/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java b/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java
index d8f0964..bde6d7f 100644
--- a/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java
+++ b/models/common/src/main/java/org/onosproject/models/common/YangModelRegistrator.java
@@ -15,15 +15,32 @@
  */
 package org.onosproject.models.common;
 
+import com.google.common.collect.ImmutableMap;
 import org.onosproject.yang.AbstractYangModelRegistrator;
+import org.onosproject.yang.gen.v1.ietfinettypes.rev20130715.IetfInetTypes;
+import org.onosproject.yang.gen.v1.ietfyangtypes.rev20130715.IetfYangTypes;
 import org.apache.felix.scr.annotations.Component;
+import org.onosproject.yang.model.DefaultYangModuleId;
+import org.onosproject.yang.model.YangModuleId;
+import org.onosproject.yang.runtime.AppModuleInfo;
+import org.onosproject.yang.runtime.DefaultAppModuleInfo;
+
+import java.util.HashMap;
+import java.util.Map;
 
 @Component(immediate = true)
 public class YangModelRegistrator extends AbstractYangModelRegistrator {
     public YangModelRegistrator() {
-        super(YangModelRegistrator.class);
+        super(YangModelRegistrator.class, getAppInfo());
+    }
 
+    private static Map<YangModuleId, AppModuleInfo> getAppInfo() {
+        Map<YangModuleId, AppModuleInfo> appInfo = new HashMap<>();
+        appInfo.put(new DefaultYangModuleId("ietf-inet-types", "2013-07-15"),
+                    new DefaultAppModuleInfo(IetfInetTypes.class, null));
+        appInfo.put(new DefaultYangModuleId("ietf-yang-types", "2013-07-15"),
+                    new DefaultAppModuleInfo(IetfYangTypes.class, null));
+        return ImmutableMap.copyOf(appInfo);
         // TODO: Do some other registration tasks...
-        log.info("Custom model registrator created");
     }
 }
\ No newline at end of file
