done with task 4 and part of task 3