part 1a, 1b, part  2 complete