virtual method "name" becomes "write_name" in input and output handlers