writing server component