Try to optimize the speed