many updates, changes and improvements