fixes all combination cases, except scenario3