changed String() methods to be more efficient