redesign _to_string format