first pass as inmemory transport, kind of works