making covariance a cached attribute