only precondition if use_precond is True