reworking eventhandlers