mouse lib update with better events