assignments 1-4... done