Improving Read and Write methods