A redo of assignment 10