realizing another refactor is needed. branching