restructure playsmsd and add restart