Finished assignment 1-4