added number-var abstract level