use hash with indifferent access