gravity shift done     needs some more polishing