public function &setBaseClassExtends($class_name)
    {
        if ($class_name && class_exists($class_name) && (new \ReflectionClass($class_name))->isSubclassOf(Entity::class)) {
        } else {
            throw new InvalidArgumentException("Class name '$class_name' is not valid");
        }

        $this->base_class_extends = $class_name;

        return $this;
    }