another pass at getting the correct value extracted from the union