fixed up exception handling, transfer result handling