add customized sqrt