added crossproduct function with test