only make the generic interface public
Add commit for cauchy matrix