exercise 1 complete, but needs testing