modifications and improvements