more base refactor