End of part 4, mostly working