added most of the text