trying to implement Chase Florell's solution