partial/helper refactor