threads, asynctask, either-failure-success utils