A

abstract-pattern