eliminated 2 patternmatching not exhaustive warnings