Parts 1 to 4 are done