compile bytecode