infinite loop
infinite loop; check in before refactor; all tests except hard pass