some changes to elaborate
added a reverse to correct gvar fixed case