add event inheritance and overriding