Completed up to part 2