refactored all tasks