validate implicitly takes diff per gh #20