implement type writer prototype