rename private valid? to valid-opts?