arc exception safety
toString -> print