Refactor run method, add iterationCount
Implement auto start mode