added service option, optimized sound play, avoid restart on exit