adding depth to __str__