algorithmic review