code: def load(filename, instruments = None):
          
          with open(filename, 'r') as infile:
              dataPickle = infile.read()
  
          script_as_dict = pickle.loads(dataPickle)
          script_class = script_as_dict['_script_class']
  
          script_instance, _, updated_instruments = Script.load_and_append({'script': script_class}, instruments = instruments)
          script_instance = script_instance['script']
  
          # save references to instruments
          instruments = script_instance._instruments
  
          # update the script instance
          script_instance.__dict__ = script_as_dict
  
          # update references to instruments
          script_instance._instruments = instruments
  
          return script_instance, updated_instruments
docs: loads an script instance using pickle
          Args:
              filename: source filename
              instruments:
                  optional - only needed if script requires instruments
                  dictionary of form
  
                  instruments = {
                  name_of_instrument_1 : instance_of_instrument_1,
                  name_of_instrument_2 : instance_of_instrument_2,
                  ...
                  }
          Returns:
              script_instance
              updated_instruments