added better ruby 1.8.7 support