Refactor to account for rejection propagation