re-wrote the whole article