generate product scaffold