id3 tagging, fetch cover, fetch artwork, refactor