added Boyer-Moore string matching algorithm