make better exception handling, using addSuppress on Exceptions