changed if-after-if with if-else, as each case is non-ovelapping + moved the soundcard refresh out from list and into its own command