reorganized Iteration 3