add some comment on function gate