use our own task exception wrapper