diff --git a/badwitch.py b/badwitch.py
index 0c64702..217a6bb 100755
--- a/badwitch.py
+++ b/badwitch.py
@@ -61,40 +61,50 @@ class Library:
             if targetalbum is not None and not album == targetalbum:
                 logging.debug('Skipping album ' + album)
                 continue
-            # God have mercy on my soul
-            artist = next(iter(albumcontent.values()))['artist']
-            destpath = (Path.home() / 'Music' / artist / album)
+            # Get albumartist
+            # Sets to Various Artists if multiple
+            albumartist=''
+            for song, songcontent in albumcontent.items():
+                if albumartist == '':
+                    albumartist = songcontent['artist']
+                elif albumartist != songcontent['artist']:
+                    albumartist = 'Various Artists'
+                    break
+            destpath = (Path.home() / 'Music' / albumartist / album)
             Path(destpath).mkdir(parents=True, exist_ok=True)
+            # Actually download and tag songs
             for song, songcontent in albumcontent.items():
                 destfile = str(destpath / song) + '.%(ext)s'
                 logging.debug('Saving to: ' + destfile)
                 # See if we already have  it
                 if Path(str(destpath / song) + '.mp3').exists():
+                    # Skip downloading
                     logging.info('Already have song: ' + song)
-                    continue
-                # Download the song
-                ytdl_opts = {
-                        'format': 'bestaudio',
-                        'postprocessors': [{
-                            'key': 'FFmpegExtractAudio',
-                            'preferredcodec': 'mp3',
-                            'preferredquality': '192'
-                            }],
-                        'quiet': True,
-                        'playlist_items': 1,
-                        'outtmpl': destfile
-                        }
-                with youtube_dl.YoutubeDL(ytdl_opts) as ydl:
-                    ydl.download([songcontent['source']])
+                else:
+                    # Download the song
+                    ytdl_opts = {
+                            'format': 'bestaudio',
+                            'postprocessors': [{
+                                'key': 'FFmpegExtractAudio',
+                                'preferredcodec': 'mp3',
+                                'preferredquality': '192'
+                                }],
+                            'quiet': True,
+                            'playlist_items': 1,
+                            'outtmpl': destfile
+                            }
+                    with youtube_dl.YoutubeDL(ytdl_opts) as ydl:
+                        ydl.download([songcontent['source']])
+                    print('Downloaded song: ' + song)
                 # Add tags
                 logging.debug('Adding tags')
                 resultfile = eyed3.load(str(destpath / song) + '.mp3')
+                resultfile.tag.album_artist = albumartist
                 resultfile.tag.artist = songcontent['artist']
                 resultfile.tag.album = album
                 resultfile.tag.title = song
                 resultfile.tag.track_num = songcontent['track']
                 resultfile.tag.save()
-                print('Downloaded song: ' + song)
 
 class BadWitch:
     # Our program