some refactoring, no more task aborts