Wow Boyer-Moore is a bitch to implement why am I spending so much time on this