finish part1
finish part2
add result