adding multi user undo support, and proper data loading, or at least a little bit