implemented read