Add product logic