First version of the reader. We can now read and write using the low-level API