improved Exception-Handling