fixed set precision bug