add tostring for all cases