fix free var bug