refactor and add getVariables()
use Suite.match