optimize newprice2 and add fault api