Finalize assignment 3