refactoring of matchTimeDuration to matcher, only call match callback for longest match, optional function for matcher
version bump