public function create($chmod = 0755)
    {
        //argument 1 must be an integer
        Argument::i()->test(1, 'int');
        
        //if chmod is not and integer or not between 0 and 777
        if (!is_int($chmod) || $chmod < 0 || $chmod > 777) {
            //throw an error
            Exception::i(self::ERROR_CHMOD_IS_INVALID)
                ->addVariable($this->data)
                ->trigger();
        }

        //if it's not a directory
        if (!is_dir($this->data)) {
            //then make it
            mkdir($this->data, $chmod, true);
        }

        return $this;
    }