non exaustive pattern