add compile & optimizations