finished part 3. started part 4