muchos changes and improvements