add code gen for varlatio