Redo of assignment 1