Lots of progress on part 4