conditionals functionality

Should work for squared and interactions now. (even when these are lists
of variables).