refactor DrawTask