ruby 1.9 compatibility