add play, some bugfix