public function copyFile($fileName, $storageName = '', $newDest)
    {
        //check whether file is set or not
        if ($fileName == '' || $newDest == '') {
            AsposeApp::getLogger()->error(Exception::MSG_NO_FILENAME);
            throw new Exception(Exception::MSG_NO_FILENAME);
        }

        //build URI
        $strURI = $this->strURIFile . $fileName . '?newdest=' . $newDest;
        if ($storageName != '') {
            $strURI .= '&storage=' . $storageName;
        }

        //sign URI
        $signedURI = Utils::sign($strURI);

        $responseStream = Utils::processCommand($signedURI, 'PUT', '', '');
        $json = json_decode($responseStream);

        if ($json->Code === 200) {
            return true;
        }

        return false;
    }