A method for loading data into an alternate evaluator for evaluating directory service operations in a directory system including a disk based evaluator (103;54) configured to process directory queries in association with a first data store stored on a disk (51;152,161), and at least one alternate evaluator (212;304-306;60;151) configured to process directory queries in association with data in a second data store (213;307-309;62) that resides in a local memory within the alternate evaluator, the method comprising: before a query for directory data is first handled: loading directory entries of said directory data from the first data store into a first list based on one or more control variables, loading, into a second list, normalised values of directory entries from the list of entries and associated pointers that point to the corresponding directory entry in the first list, and loading, into a third list, indexes and pointers to the normalised values loaded into the second list, wherein the interdependent lists (155, 156, 157) are stored in the local memory within the alternate evaluator for subsequent evaluation by the alternate evaluator of a query for said directory data; receiving a query for said directory data; determining whether the query can be processed using the alternate evaluator; in response to determining that the query cannot be processed using the alternate evaluator, evaluating the query using the disk based evaluator; and in response to determining that the query can be processed using the alternate evaluator, evaluating the query using one or more of data entries from the first list, normalised values from the second list, and indexes and associated pointers from the third list stored in the local memory of the alternate evaluator. before a query for directory data is first handled: loading directory entries of said directory data from the first data store into a first list based on one or more control variables, loading, into a second list, normalised values of directory entries from the list of entries and associated pointers that point to the corresponding directory entry in the first list, and loading, into a third list, indexes and pointers to the normalised values loaded into the second list, wherein the interdependent lists (155, 156, 157) are stored in the local memory within the alternate evaluator for subsequent evaluation by the alternate evaluator of a query for said directory data; loading directory entries of said directory data from the first data store into a first list based on one or more control variables, loading, into a second list, normalised values of directory entries from the list of entries and associated pointers that point to the corresponding directory entry in the first list, and loading, into a third list, indexes and pointers to the normalised values loaded into the second list, wherein the interdependent lists (155, 156, 157) are stored in the local memory within the alternate evaluator for subsequent evaluation by the alternate evaluator of a query for said directory data; receiving a query for said directory data; determining whether the query can be processed using the alternate evaluator; in response to determining that the query cannot be processed using the alternate evaluator, evaluating the query using the disk based evaluator; and in response to determining that the query can be processed using the alternate evaluator, evaluating the query using one or more of data entries from the first list, normalised values from the second list, and indexes and associated pointers from the third list stored in the local memory of the alternate evaluator.