add Boyer-Moore algorithm