beginning to implement a more efficient lookup.
a little recur