added Algorithm