assignment3 final