add SIntFunc
update