Add toString, copying Gary Leeson