finished part 1 and 3