add the product data general form element and restructure the code

add options to product type