streaming thrift reader
refactor, cleanup