better API for TransactionalReader