anchor.diff:        (cl-fad:walk-directory source-dir #'copy-fun :directories T)
         (v:debug :backup "Loading storage of all active modules...")
         (dolist (module running-modules)
  -        (handler-bind ((error #'(lambda (err)
  -                                  (v:error :backup "Error starting module ~a: ~a" module err)
  -                                  (invoke-restart 'skip))))
  -          (load-storage module)))
  +        (handler-case
  +            (load-storage module)
  +          (error (err)
  +            (v:error :backup "Error loading storage for module ~a: ~a" module err))))
         (v:info :backup "Restore complete."))))
   
   (defun start-timer ()
  
positive.code: (defun restore (backup-name)
    (let* ((directory (backup-directory (get-module :backup)))
           (source-dir (merge-pathnames (format NIL "~a/" backup-name) directory))
           (running-modules (remove-if-not #'active (remove :backup (alexandria:hash-table-keys *bot-modules*)))))
      (assert (cl-fad:file-exists-p source-dir) () "Backup ~a does not exist!" backup-name)
      (flet ((copy-fun (pathname)
               (let ((target-path (merge-pathnames (subseq (namestring pathname) (length (namestring source-dir))) *config-directory*)))
  
negative.code:   (let* ((directory (backup-directory (get-module :backup)))
           (timestamp (local-time:format-timestring NIL (local-time:now) :format '((:year 4) #\. (:month 2) #\. (:day 2) #\Space (:hour 2) #\: (:min 2) #\: (:sec 2))))
           (target-dir (merge-pathnames (format NIL "~a/" timestamp) directory))
           (running-modules (remove-if-not #'active (remove (get-module :backup) (alexandria:hash-table-values *bot-modules*)))))
      (flet ((copy-fun (pathname)
               (let ((target-path (merge-pathnames (subseq (namestring pathname) (length (namestring *config-directory*))) target-dir)))
                 (if (cl-fad:directory-pathname-p pathname)
  