rename algorithm