made union function