product state changes