assignment 2 attempt 2