basic commit reading and writing