fill_covariance now returns a value