using new cache-pointer sceme for keeping fk decoupled