add progress callback to find path