fix offset bug
modify ast