problem 3 without tests