added cross function