support multiple outputs and WrapperTask