agree. will need a separate refactor.