add hoverIntent
various fix and cleaning of the code