add some algo