Almost completely implement Scenario