add some func