Reworked a lot...
....more