problem 17 is more OO
problem 17 is more OO