add preference settings and music support