compile to binary