the background task