added hover event handling