generate crud for products