v0.3.20 with better ruby 1.9 compat