reverted some things with the builtin union