add requireAll interface