Numerous additions and improvements