public function run(array $sources, array $destinations)
    {
        $updatedSources = [];

        foreach ($sources as $source) {
            // remove .scss extension and add .css extension
            $css = $this->getCacheDir().$source->getBasename('.scss').'.css';
            $this->addNotification('compiling '.$source.' to '.$css);

            // compilation start
            $process = new Process($command = $this->buildCommandString($source));
            $process->run();

            if (!$process->isSuccessful()) {
                throw new Exception(
                    'An error has occurred during the compass compile task : "'.$process->getErrorOutput().""
                    .' (running "'.$command.'")'
                );
            }

            // add css file to destination files
            $updatedSources[] = $css;
        }
        if (count($updatedSources)) {
            // compilation success notification
            $this->addNotification('scss files compilation success');
        }

        return $updatedSources;
    }