Adjust the core function