algorithms developed in class