BPI - depth first iterative search