all inference steps use the factorgraph