fix the background service and returning policy, add post function