refactor make builder