part2 works half way