fix toString bug