since this is really identical, i wonder if we should DRY it?