pretty debug print
steps extracted to separate types
Ranking extracted to standalone interface