add problem 23 and cleanup problem 22