diff --git a/good_ol_mixtape.py b/good_ol_mixtape.py
index 34d76a8d5b9a63c489e30fc8069a8a96d05890f4..f0da90c416e6e5e1b9abf293913a84be092bedb7 100644
--- a/good_ol_mixtape.py
+++ b/good_ol_mixtape.py
@@ -6,7 +6,7 @@ import music_tag
 from urllib.parse import unquote
 
 class Song:
-	def __init__(self,song_path, mixAlbum = None, mixNumber = None):
+	def __init__(self,song_path, mixAlbum = None, mixNumber = None, mixAuthor=None, mixCover=None):
 		self.track = music_tag.load_file(song_path)
 		self.title = self.track['title'].first
 		self.o_album = self.track['album'].first
@@ -17,6 +17,10 @@ class Song:
 			self.set_mixTitle(mixAlbum)
 		if mixNumber != None:
 			self.set_numInMix(mixNumber)
+		if mixAuthor != None:
+			self.set_albumArtist(mixAuthor)
+		if mixCover != None:
+			self.replace_artwork(mixCover)
 
 	def set_mixTitle(self, mixAlbum):
 		self.track['album']=mixAlbum
@@ -24,6 +28,19 @@ class Song:
 	def set_numInMix(self, mixNumber):
 		self.track['tracknumber']=mixNumber
 
+	def replace_artwork(self, newImagePath):
+		tmpArt = []
+		for a in self.track['artwork'].values:
+			tmpArt.append(a)#.data)
+		self.track.remove_tag('artwork')
+		with open(newImagePath, 'rb') as img_in:
+			self.track.append_tag('artwork', img_in.read())
+		for a in tmpArt:
+			self.track.append_tag('artwork', a)
+
+	def update_tag(self):
+		self.track.save()
+
 	def __str__(self):
 		return f"{self.track['tracknumber'].first}. {self.track['album'].first}/{self.title} — {self.artist} (track #{self.o_number} of {self.o_album})"
 
@@ -55,3 +72,7 @@ class MixTape:
 		for track in self.playlist:
 			res += track.__str__()+"\n"
 		return res
+
+if __name__ == "__main__":
+	track = Song("sampleData/archive/02. NoName - Rainforest.flac", "test", 5, mixCover = "sampleData/CONNECTED.png")
+	print(track)