generic protocol cache wip