add repeat ability