create destination directory if necessary