I don't think we need to maintain a @letters attribute in parallel with our @letters_hash. It's difficult and bug-prone to have data repetitively represented. If we find ourselves needing an array representation of our letters, we can make a method that does the reverse of what our initialize method does.

Also, I *think* all you need is

    def take_letter(new_letter)
      @letters_hash[new_letter] += 1
    end

since @letters_hash is initialized with a default return value of 0 (line 36).