lua iterator, coroutine, 8queens