/// <summary>
		/// Finds the best match for a song.
		/// </summary>
		/// <param name="songs"></param>
		/// <param name="artists"></param>
		/// <returns></returns>
		private Song FindMatch(Song[] songs, IEnumerable<Artist> artists) {

			if (songs.Length == 0)
				return null;

			if (songs.Length == 1)
				return songs.First();

			var match = songs.FirstOrDefault(s => s.Artists.Any(a => a.Artist != null && a.Artist.ArtistType != ArtistType.Vocaloid && artists.Any(a2 => a.Artist.Equals(a2))));
			return match ?? songs.First();

		}