updated algorithm.py