introduce grid factory