small refractor to divide respnsabilities.
created to_s on a str level