problem 16 prototype