exercise #3 updated