refactoring how background images are setup