Final assignment 3