might be useful to drop a comment about how the keys are constructed. is a bit hard to follow