# Learn 101 * 100: KEEPE IT SIMPLEME How works a hierarchical data lookup? - Query a key - Kheops is composed of 2 parts: + It will first look in different locations the key. It is usually files, but it can also be an url or anything. - Lookup data in a tree of files + Goes sequentially according the backends list * Backend/Engine list is modular * Engine Plugin: Jerakia/HIera/Ansible/Curl * Backend Plugin: loop/hier + All result are returned, and then the rules are applied + Rules match to a key and apply a strategy (essentially determine if and how the different value are merged or replaced). It can also apply filter to the result and modify its content (future). * This is modular * Strategy: last/schema - Last will always take the last found value, whatever what it previously found. - schema: It will take into account the strucutre of the data and try to merge them intelligentelly. + Then it returns the result