update without a bunch of fprintfs