reworking cascading rules - most tests pass