diff --git a/include/mme-app/contextManager/mmContextManager.h b/include/mme-app/contextManager/mmContextManager.h
new file mode 100644
index 0000000..cdf2113
--- /dev/null
+++ b/include/mme-app/contextManager/mmContextManager.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2019-present, Infosys Limited.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __MmContextManager__
+#define __MmContextManager__
+/******************************************************
+* mmContextManager.h
+ * This is an auto generated file.
+ * Please do not edit this file.
+ * All edits to be made through template source file
+ * <TOP-DIR/scripts/SMCodeGen/templates/ctxtManagerTmpls/blockPoolManager.h.tt>
+ ***************************************/
+#include "memPoolManager.h"
+
+namespace mme
+{
+	class MmContext;
+	class MmContextManager
+	{
+	public:
+		/****************************************
+		* MmContextManager
+		*  constructor
+		****************************************/
+		MmContextManager(int numOfBlocks);
+		
+		/****************************************
+		* MmContextManager
+		*    Destructor
+		****************************************/
+		~MmContextManager();
+		
+		/******************************************
+		 * allocateMmContext
+		 *  allocate MmContext data block
+		 ******************************************/
+		MmContext* allocateMmContext();
+		
+		/******************************************
+		 * deallocateMmContext
+		 *  deallocate a MmContext data block
+		 ******************************************/
+		void deallocateMmContext(MmContext* MmContextp );
+	
+	private:
+		cmn::memPool::MemPoolManager<MmContext> poolManager_m;
+	};
+};
+
+#endif
+		
+		
