added toSTring and document