This is a list of design decisions that still need to be made. What needs to be done about V2 (login mode) that affects the V1 file definition? The 'change' and 'delete' verbs should be easy to implement, but the 'add' verb requires that a new ID number be created. There are a couple of ways to do this: (1) require the ID be given, (2) search for a free number (may be expensive, simultaneous update problems), (3) a 'control' record that holds the next available ID number. In cases 2 and 3, I think a block of a hundred thousand or so IDs should be set aside for this, either high or low, defined by build.c. Something simple like ID 0 would be the place to hold this block start/next free number. .