Several changes and improvements.