Begin code gen