background controller