add fault tolerance for non-root