Async run

this doesn't belong here either, separate PR?