move some sc operations into task