updated to Iteration 3