assignment 3. 100%