public function add($interval, $value = 1, $overflow = null)
    {
        if (is_string($interval)) {
            // Check for ISO 8601
            if (strtoupper(substr($interval, 0, 1)) == 'P') {
                $interval = new DateInterval($interval);
            } else {
                $interval = DateInterval::createFromDateString($interval);
            }
        }

        $method = new ReflectionMethod(parent::class, 'add');
        $result = $method->getNumberOfRequiredParameters() === 1
            ? parent::add($interval)
            : parent::add($interval, $value, $overflow);

        return $result ? $this : false;
    }