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:       (v:info :backup "Starting backup.")
        (v:debug :backup "Saving storage of all active modules...")
        (dolist (module running-modules)
          (handler-bind ((error #'(lambda (err)
                                    (v:error :backup "Error saving storage for module ~a: ~a" module err)
                                    (invoke-restart 'skip))))
            (save-storage module)))
        (v:debug :backup "Copying folder ~a to ~a..." (namestring *config-directory*) (namestring target-dir))
        (copy-fun *config-directory*)
        (cl-fad:walk-directory *config-directory* #'copy-fun :directories T)
  
negative.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 (get-module :backup) (alexandria:hash-table-values *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*)))
  