Implemented https://arxiv.org/pdf/1801.04062.pdf
This will create a new commit in order to revert the existing changes.