Only downcase once and use Hash.new(0) to eliminate the conditional