why cov_func if it's an init param?