iteration 3
reverted to iteration 1 for ruby