also notes in here
how the algorithm self
___