super call in trait
abstract overrides