worked on tostring