proper void toString