allow errors to be real or complex