# File lib/lvm.rb, line 23
    def initialize(options={})
      # handy, thanks net-ssh!
      invalid_options = options.keys - VALID_OPTIONS
      if invalid_options.any?
        raise ArgumentError, "invalid option(s): #{invalid_options.join(', ')}"
      end

      @command = options[:command] || DEFAULT_COMMAND

      # default to loading attributes for the current version
      options[:version] ||= version 
      options[:debug] ||= false

      @logical_volumes = LogicalVolumes.new(options)
      @volume_groups = VolumeGroups.new(options)
      @physical_volumes = PhysicalVolumes.new(options)

      if block_given?
        yield self
      else
        return self
      end
    end