put most tasks into AsyncTasks