initial impl of union. #97