Generate Product model