make compilers modular