final versions of assignment