minor alterations and images removed