Read and Write functions completed