assignement3 prerequisites