it's probably more clear to include the valdef on (both xor no) sides