prepare_parts2: consider paths including spaces. other codes need to be fixed as well. don't use join(' ') to execute external commands