function getPreferredImage($aspect = null, $orientation = null)
    {
        // If theres no images, check for placeholders
        if (!$this->getFilteredMedia(['image'], false)) {
            if ($ph = $this->getPlaceholder()) {
                if ($aspect) {
                    return $ph['meta']['src'][$aspect];
                }
                return $ph;
            }
            return null;
        }

        if ($this->hasPreferredImage()) {
            $medium = $this->getMedium($this['meta']['media']['preferred_image']);
        }
        elseif ($orientation) {
            $medium = $this->getPreferredImageByOrientation($orientation);
        }
        else {
            $medium = $this['media'][0];
        }

        if ($aspect) {
            return $medium['meta']['src'][$aspect];
        }
        return $medium;
    }