Addition of algorithmic approach