assignment-2 -- DONE