#3 better exception reporting