From GitHub
A re-write is warranted, when the time allows it, should be done. ATM, the author - Munyoki - has picked up new tricks on how to get this done efficiently. And in particular using machine-learning techniques picked up during his Master's degree.