major change in Generic Algo