modify and optimize

modify and optimize