finished up to part 2d