part 2 solved