def selectNextCard(self):
        # take from the stack and put it on top
        if len(self.cards) > 0:
            self.emit(SIGNAL('modelAboutToBeReset()'))
            result = self.cards[0]
            self.cards = self.cards[1:]
            self.cards.append(result)
            self.reset()
            return result
        else:
            return Card()