some perf benchmarking, refactored toString()