wrapper for unions