gherkin more declarative than imperative