added reversible gravity