pass in tasks