event handlers refactored
event handlers refactored