many upates and improvements