add create directory support