work on function arg
refactor ast node rewrite and insert