finished assignment 3