runner implementation