continued with read implementations