def do_initialize
      Puppet.initialize_settings
      Puppet[:parser] = 'future' # this is required in order to work with puppet 3.8
      Puppet[:trusted_node_data] = true
    rescue ArgumentError => e
    rescue Puppet::DevError => e
      # do nothing otherwise calling init twice raises an error
    end
def do_initialize
      Puppet.initialize_settings
      Puppet[:parser] = 'future' # this is required in order to work with puppet 3.8
      Puppet[:trusted_node_data] = true
    rescue ArgumentError => e
    rescue Puppet::DevError => e
      # do nothing otherwise calling init twice raises an error
    end
this is required in order to load things only when we need them