Made the build system more "modular"