@author:Jession
improve performance