ARGV.each { |item|
  names.push item
}

if names.empty?
    facts = Facter.to_hash
else
    facts = {}
    names.each { |name|
        begin
            facts[name] = Facter.value(name)
        rescue => error
            STDERR.puts "Could not retrieve %s: #{error}" % name
            exit 10
        end
    }
end