Add support for read and write