First finished version of part 2