implement lookup