Numerous updates and improvements