part 2 and 3 finished,not tested