converted key lookup to callback pattern
rolled minior version for breaking changes