for ruby 2.x