read, write, and clear added