adding toString()s
fixing join