implemented some scenarios