added mouseenter and mouseleave support