Fix bug: In function update: if the dt is too small, then there is no recrod to redo.
Update: Add file selection for saving and loading record.