clean up and improvements