Problem 7 + Unit Tests