need tighter types for Cauchy