moved songs to their own struct