fixed boilerplate task runner