public function generate($outputPath)
    {
        // do content replacement
        $this->process();

        // check if directory exist, if not create it
        $baseDir = dirname($outputPath);
        if (!is_dir($baseDir)) {
            mkdir($baseDir, 700, true);
        }

        return (bool)file_put_contents($outputPath, $this->getContent());
    }