learn extern variable