added satisfy all