basic building blocks for query parsing, indexing, storing and collecting