refactor builders