public function setOptions(array $options = array())
    {
        // we've yet to init the default options, so create them here
        if (sizeof($this->options) == 0) {
            $defaultOptions = array(
                'resizeUp' => false,
                'jpegQuality' => 100,
                'correctPermissions' => false,
                'preserveAlpha' => true,
                'alphaMaskColor' => array(255, 255, 255),
                'preserveTransparency' => true,
                'transparencyMaskColor' => array(0, 0, 0),
                'interlace' => null
            );
        } else { // otherwise, let's use what we've got already
            $defaultOptions = $this->options;
        }

        $this->options = array_merge($defaultOptions, $options);

        return $this;
    }