for some new function ,maybe bring some bug