A lot of code refactoring: code looks much better now.