use new BasicUI and Session API to deal with transport state