use variants only when checked