added byte compile function