for assignment 12