added orElseXxx
xml validation, refactoring
no need for that