implemented repetition