optimise cache