add cetral exception handling