updates and improvements