Made some of the documentation clearer and changed some data declarations to newtype declarations