diagram / abstract
see
abstract / concrete