abstract tr
abstract tr