improvement of task1, task2, taks3, task4