I am guessing a SQLite db may be in the answers and I am currently in learning mode on SQLite, but even in my old VB days I had trouble with multiple undo's and used a module that was open source. It would only allow 1 undo or at least that was all could get out of it. I have about 12-15 variables that are involved in 1 click of the undo button and wonder how people have a setting that is a user option on how many layers of undo can be performed. I know about the statemanager and keyvaluestore but don't think they are the solution. In a perfect world I would need a maximum of 15 undo's.