added TransferException and ICommunicationChannel interface