fix the 'match may not be exhaustive' compiling warning