Main task runner