fix #1 and update exercise_3