added part 5, updated part 1-4