# Advanced Validation Features

There are several **Validation Options** within WirisQuizzes you can select by default. Still, we will need some advanced validation features in a wide range of mathematical contexts. Below is a brief description of all those situations that can be handled by WirisQuizzes mathematical engine.

**Use of random variables**: One of the main features of WirisQuizzes is generating random questions. This means we can write a general question with different data each time the question is opened. There is a wide range of possibilities that the`random`

command offers when creating questions with WirisQuizzes.**More details here**.**Units and currencies**: WirisQuizzes is excellent for creating mathematical questions, but because it understands units of measurement and currencies, it's also appropriate for physics, chemistry, biology, economics, and more. Thus, you can create a question that answers units, and the system will correctly grade any answer with equivalent units.**More details here**.**Lists and sets**: Students can use lists in answers, and the system will understand them with the defined criteria. Order and repetition can matter or not when comparing the student's answer with the correct one depending on the selected options.**More details here**.**Intervals**: Students can use intervals in answers, and the system will understand them as their equivalent inequality to compare them with the correct answer.**More details here**.**Auxiliary input component for WirisQuizzes answers**: It is common for teachers to ask their students to explain how they have computed the answer to a Math or Science question. Even in automatically graded questions, teachers may want to ask the students to write their reasons just in case they want to check them later for manually adjusting the grade or just to answer the student's request regarding this question.**More details here**.**Automatic tables**: It is possible to generate tables from variables created in our algorithm. These tables can also be created from lists and matrices.**More details here**.**Random seed per student**: When working with random numbers, you may want every student to always have the same seed for the random number generation. This way, a question will always have the same random values, even if the quiz is re-started several times; or the student will have the same data in different examinations over the course.**More details here**.**Plus/Minus operator**: It is possible to perform computations with the $\pm $ operator. Therefore, the student can use the $\pm $ symbol. Recall that the result of the $\pm $ operator is a list (not a set!).**More details here**.**Percentages and per mille**: It is possible to include percentages and per mile in the answers of a WirisQuizzes question.**More details here**.**User functions**:WirisQuizzes Studio uses symbolic notation to work with variables and symbols. This is extremely useful, but`f(x)`

is understood as a multiplication $f\xb7x$. If we want that to be interpreted as a function $f$ evaluated at a point $x$, we need to declare it accordingly.**More details here**.**Subindices in answers**: WirisQuizzes allows answers with subindices so you can ask even more questions. For instance, a common question about chemistry or symbolic math is possible.**More details here**.