new  ring--algo API