make use of bg task loop