adding algo