previous version can only enumerate the first level of each itpo when finding the visited Pos
we fix this in this version