fix part2, have to finish the end