Final assignment2