added base class support