better craete and update product