documentation for reading