Revert all the this.
Fix conflict.
Merge pull request #659 from ESwordTheCat/582173ba

Revert revert