finisehd refactor of all modules regarding issue: https://github.com/timmolter/XChange/issues/189