improved hasBeenPlayed handling