finished part 3 i think