implemented readOperation