using open3 instead of backticks to capture out, err, status separately