switched configuration from exceptions to return enumeration