add ACID + robustness