Part 3

All files up to part 3