#2 implement Agent as Runner