refactor build to allow for multiple modules