iteration 2 & 3