many updates after a lot of testing...
more updates after testing...
more testing