unsolvable problem? fix it with functions