reducing & toString