adding union parsing
adding union parsing and compilation
merge from origin/master