read repeat implemented