working on ruby 17, not correct though