change advance function