added MusicData abstract class