add base class can custom cache