union functionality added