add CrossX() function