assignment 3: completed