This is the final version for the assignment. Thank you!