add WriteTo function