add fault-tolerant