improved visual toString