- fixed some typos
- changed find_matches to use suffix arrays instead of a brute force enumeration