make more fault tollerant