added event observer