added Read and Read() methods