refactor build steps