repackaged with bundler, tested in Ruby 1.8, 1.9, and 2.0