never recurse on pointers
__str__ must be simple and localised to current fields. never recurse.
cleaning