add cross function