preserve error through multiple need combinations
test combination of needs
new version