Part2 tested (fails), part3 tested