refactored tasks