Add recursion to variables and require -> so