added the deviceSatisfiesCriteria method