keyed functors