added __toString generator