Part 2 attempt 2