add some func interfaces