assignments 4 and 5 added