class abstract support
class abstract support