The items do not actually have unique ID numbers. The data will be in a directory that has the structure. Section - Sub Section - Sub Sub Section - Data block This data will be searched only and will always be in sequential order. ie. First screen shows list of sections available. Then user selects one of them. Now the user is presented with list of sub sections. The user chooses sub section. Now user is shown list of sub sub section. User chooses which sub sub section. Now is simply a block of data. The micro will read through the blocks and display the first line of each section (ie. title of book). and select one. Now the display will show all other lines of data for that item. I was anticipating using pointers at each level. ie. each section heading has pointer to sub section, then each sub section has pointer to sub sub section etc. The user can then escape back up through the levels by popping the last ptr of a stack. The data is static and will be read only. It will only be modified if a new compiled version is programmed into the eprom via a PC. This new data will have its own set of pointers. The problem is at the higher level of creating a compiler to create this eprom file with pointers. How to process data table. I am thinking of using a Paradox 7 table and writing the application with Delphi 4. I have also posted a request for help on the Delphi database newsgroup but have no response yet. Regards David Huisman