Optimize output format for better readability
Modify variable naming scheme
No longer use simple heuristics, but generate many possibilities and choose the best