intermediate changes
merging task refactoring
refactoring task execution model