add xn for easy construct fn