put Create Instance function in separate file for more clarity