improvement for object events