added multi-compiler support