Tons of work to get things backported to ruby 1.8