added union parsing