cycle through different rules