reactored tasks