add toStringWith