add computePath & tryCross