add read and update operations