change failedTask to freeTask