made Vars interface a bit more abstract