--- a/iesh
+++ b/iesh
@@ -18,7 +18,6 @@
 
 
 import atexit
-import cPickle
 import os
 import os.path
 import pdb
@@ -199,10 +198,7 @@
     save files than just one."""
     if name != '':
         name = '-' + name
-    data = [core.game_dir, core.chitin_file,  core.dialog_file,  core.keys,  core.strrefs, core.game_data_path ]
-    fh = open (os.path.expanduser (IESH_RESTORE_FILE + name),  'w')
-    cPickle.dump (data,  fh)
-    fh.close ()
+    save_state (os.path.expanduser (IESH_RESTORE_FILE + name))
 
 ###################################################
 def restore (name = ''):
@@ -212,10 +208,7 @@
     allowing more save files than just one."""
     if name != '':
         name = '-' + name
-    fh = open (os.path.expanduser (IESH_RESTORE_FILE + name))
-    data = cPickle.load (fh)
-    fh.close ()
-    core.game_dir,  core.chitin_file,  core.dialog_file,  core.keys,  core.strrefs, core.game_data_path = data
+    restore_state (os.path.expanduser (IESH_RESTORE_FILE + name))
 
 ###################################################
 ###################################################