part1 almost done