add xopen macro