read and edit mechanism