feat(compiler) added custom compiler support + tests

closes #126