3/4 of the way done
Completed in Ruby 1.9.3
Completed in Ruby 2.0.0