For comp20 assignment 1