updated hover state handling