Added the a protocol for reading