Added all situations and the selector logic.