rearranging the build process