working read operation