problem 2 w/ tests