- pattern: given some precondition function: given_precondition - pattern: when (?P\S+) does something function: do - pattern: then all if fine function: is_fine