better variables system