fix incorrect implementation of cross