add some function type definition