iterative lookup