Final assignment3