Very cute. I hopped onto irb to check out what each step of Hash[*keys.zip(vals).flatten] does (I'd not used zip nor flatten in some time) and I can't quite figure out what function asterisk, ie, *keys performs (leaving it out or executing *keys.zip(vals).flatten results in a ruby error and I don't see an explanation of this use of * in the nutshell book.) Can one of you enlighten me? Thx! Ken