Intelligent search. Stemmer. Additional logging. Refactoring