support background tasks, different json