alternate solution to class project