Refactored background work
Merge