add the downloadtask class and scheduletask class