+ optimizations
+ code style improvement
+ ranks are now sorted descending