improved hover handling