wallpaper refactor