- added repeat and tests to go with it