modify read and append interface to use transactions