fixed: move to left joins to loosen constraints.