recursion removed, guessing simplified