added normalized crossproduct function