finished part 1;