ruby 1.9/2.0 compatible :)