update logic produre