fix match exhaustivity