Title: Self-diagnosis and fault-tolerance