put strings to lower case before analysing. This way they're more likely to match
Clear up a few logic bugs to improve detection rates