made __str__ return string instead of using print