add wallpaper, refactor