fulltext search + refactorings;