tweaks to null checking; separate boyermoore definitions to separate file