add prepare_dir