improved behavior __str__