Blocked out depth first method