For the first eight months of the project the application programmer and other members of the team worked to create an infrastructure which would enable the interface designer to carry out her task rapidly and relatively independently. Since one of the stated project objectives was to produce a ``configurable'' user interface, it was necessary to examine the available tools and select the one best suited for that purpose. But below the user interface a supporting layer of code was required, to manage the query and integrate the various functions to be offered to users (database searching, thesaurus navigation) with others (like transaction logging) needed for experimental purposes. So suitable design principles for this ``query layer'' had also to be established.