Ruby 1.8 compatibility