why return the message? Just return a task