add some typical algorithm