finalized exercise 2