Implement Abstract
abstract need its custom implementation to match the behaviour before v3