done until the end of task 3