Implement Run()